函数名的第一类对象及使用

  1. 当作值,赋值给变量

    • def func():
      print(1)
      print(func) #查看函数的内存地址
      a=func
      print(a)
      a()

        

  2. 可以当作容器中的元素

    • def func():
      print(1)
      def foo():
      print(2)
      #lst.append(func)
      #lst.append(foo)
      #print(lst)

      lst=[func,foo] #放到列表
      for i in lst:
      i() dic={} #放到字典中

        

  3. 函数名可以当作函数的参数

    • def func(a):
      a()
      print(111)
      def foo():
      print(222)
      def f1():
      print(333)
      func(f1)
      foo()

        

  4. 函数名可以当作函数的返回值

    • def func():
      def foo():
      print(111)
      return foo
      func()()

        

f-strings 格式化

  • f"{}"

迭代器

  • 可迭代对象

    • list,tuple,str,set,dict 取值方式只能直接看

    • 只要具有_iter_()方法就是一个可迭代对象

      • s._iter_() -- 将可迭代对象转换成迭代器

  • 具有_iter_()和_next_()两个方法的才是迭代器

  • 迭代器再执行_iter_还是原来的迭代器

  • for 循环的本质

    • while true:
      try:
      print(s._next_())
      except StopIteration:
      break

        

  • iter()与_iter_()是一样的

    • python 2 中有iter() _iter_() next()

    • python 3 中iter()和_iter_() _next_()和next()都有

  • next()与_next_()是一样的

  • iter()与next()用法:
    l=iter(lst) #iter(迭代对象)
    next(l)     #next(迭代器)
  • 迭代器时基于上一次停留的位置,继续取值,不能取超,否则会报错

  • 迭代器优点:

    • 惰性机制 -- 节省空间

  • 迭代器缺点:

    • 不能直接查看值,迭代器查看到的时迭代器的内存地址

    • 一次性,用完就没了

    • 不能逆行

  • 空间换时间:容器存储大量的元素,取值时间短,但是容器占用空间较大

  • 时间换空间:虽然节省了空间,但是取值时间较长

Python之路Day11的更多相关文章

  1. python之路-Day11

    引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾下 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程: ...

  2. 初学python之路-day11

    一.函数的参数:实参与形参 # 参数介绍: # 函数为什么要有参数:因为内部的函数体需要外部的数据 # 怎么定义函数的参数:在定义函数阶段,函数名后面()中来定义函数的参数 # 怎么使用函数的参数:在 ...

  3. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM   本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM ...

  4. python 之路,Day11(上) - python mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  5. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  6. Python之路

    Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Pytho ...

  7. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  8. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  9. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

随机推荐

  1. 学习css常用基本层级伪类属性选择器

    常见的css选择器包含:常用选择器.基本选择器.层级选择器.伪类选择器.属性选择器,其中常用选择器分为:1.html选择符*{}//给页面上所有的标签设置模式:2.类选择符.hcls{}//给clas ...

  2. web渗透之XSS基本介绍

    想学XSS必须得有基本得JS知识 JS基础BOM XSS漏洞原理 XSS(Cross Site Script),全称跨站脚本攻击.它指的是攻击者往web页面或者url里插入恶意JavaScript脚本 ...

  3. h5 中修改input中 placeholder的颜色

    input::-webkit-input-placeholder{ color:blue; } input::-moz-placeholder{ /* Mozilla Firefox 19+ */ c ...

  4. 搜索练习题LETTERS

    题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1212    或者http://poj.org/problem?id=1154 题目描述: 给 ...

  5. SpringBoot整合NoSql--(一)Redis

    简介: Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(v ...

  6. JS笔记之第一天

    JavaScript:简称JS JS的原名不是JavaScript,而是LiveScript JS分为三个部分 1.ECMAScript  标准→JS的基本的语法 2.DOM——Document Ob ...

  7. Mac IDEA 2019.3.1下载及破解,可激活至2089年

    背景 目前IDEA已更新到2019.3.3,但是下载这个版本后使用目前网上的常见破解方法会出现各种问题.比如使用注册码方式提示license key is in legacy format,或者使用L ...

  8. B. Modulo Equality

    当时想到的第一个想法是用拓展欧几里得解方程,求x的最小正解.一发交了之后发现爆long long,因为m是1e9. 因此本题的正解是暴力,保证有解的情况下,那么a数组中的一个数必然对应着b数组中的一个 ...

  9. 旷视向左、商汤向右,AI一哥之名将落谁家

    编辑 | 于斌 出品 | 于见(mpyujian) AI风口历经多年洗礼之后,真正意义上的AI第一股终于要来了. 相比于聚焦在语音识别技术上的科大讯飞.立足互联网产业的百度.发力人形机器人领域的优必选 ...

  10. C#最基本的Socket编程

    示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息,是一个简单示例,也是一个最基本的socket编程流程. 简单步骤说明: 1.用指定的port, ip 建 ...