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

  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. Sublime Text3添加到右键菜单,"用 SublimeText3 打开"

    在Sublime Text3安装目录下新建一个文件 sublime_addright.inf 文件内容: [Version] Signature="$Windows NT$" [D ...

  2. mysql 使用 limit ,从指定条数读取完,-1失效

    , 原因很简单这种写法本身就是错的,虽然它可以在之前的版本中运行(低优先级),新版本的mysql对此做出了修复,现在的替代方法是第二个参数用一个较大的正数代替 比如你写个 , 感觉这方法很蠢,然鹅我并 ...

  3. AndroidStudio修改默认C盘配置文件夹(.android.gradle.AndroidStudio)以及修改后避免踩的坑

    场景 AndroidStudio下载安装教程(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103672471 在上 ...

  4. C#中WinFrom保存文件SaveFileDialog类的使用方法

    C#中WinFrom保存文件SaveFileDialog类的使用方法 使用的命名空间是:System.Windows.Forms; 常用属性:   Title:保存对话框的标题,默认为"另存 ...

  5. navicate premium连接sqlserver时报08001错误的解决方法

    ---恢复内容开始--- navicate premium连接sqlserver时报08001错误的解决方法 1.自己一直使用navicate连接sqlserver,但是自从自己的电脑安装了sqlse ...

  6. Spring AOP-基于@AspectJ风格

    关于Spring AOP,可以去看看官方文档: https://docs.spring.io/spring-framework/docs/current/spring-framework-refere ...

  7. The ADB binary found at ... 虚拟机运行错误

    虚拟机问题,可以说差点扼杀我开发 APP 的乐趣,哼,最后请教了一下辉哥(学长),终于解决 —— 用真机调试.下面是步骤: 首先,检查一下真机连接需要的 SDK 是否安装,未安装,勾选进行安装 接着用 ...

  8. JS中require函数的警告提示

    在JS中常常使用require函数来引入文件或者路径,不过在使用时需要注意一点,它的参数必须是一串完整的字符串常量或者是由字符常量与变量拼接. (一)require函数的参数为一个变量,如下图所示: ...

  9. 《Javascript DOM编程艺术》学习笔记 第1-6章

    第1章 Javascript简史 Javascript是Netspace公司与Sun公司合作开发的,Javascript 1.0版于1995年推出. 为与微软公司竞争,Netspace公司和Sun公司 ...

  10. 洛谷题解 P1592 【互质】

    原题传送门 题目描述 输入两个正整数n和k,求与n互质的第k个正整数. 输入格式 仅一行,为两个正整数n(≤10^6)和k(≤10^8). 输出格式 一个正整数,表示与n互质的第k个正整数. 输入输出 ...