• 一:函数名的应用(第一类对象)
  • 函数名的命名规范和变量是一样的,函数名其实就是变量名,
    • 0)函数名可以赋值给其他变量
  •  def func():        #定义一个名为func的函数
    print('my angel')
    a = func        #将函数名func赋值给a
    func()
    a()   #调用func()和a()
    #结果为:
    my angel
    my angel
    #所以函数名是可以赋值给其他变量的
     def func():
    print("my angel")
    a = func
    print(a)
    func()
    a()
    print(func) #通过打印a和func,可以得出两个函数的内存地址完全一致
    • 1)可以作为列表中的元素进行存储.
  •   
     def func1():         #定义函数1
    pass
    def func2(): #定义函数2
    pass
    lst = [func1,func2] #将函数作为元素插入列表,注意:这里函数名不加小括号,加小括号是引用函数
    for el in lst:    
    el()
    • 2)可以作为参数传递给函数.
  •  def func():
    pass
    def proxy(fn): #这里的fn现在为函数func
    fn() #结果为fn(func)
    proxy(func) #将函数名func作为参数传递给函数proxy
    • 3)可以作为函数的返回值
  •  def fanc():
    def inner(): #3,执行inner函数
    pass
    return inner #2,fanc函数的返回值是inner
    func()() #1,调用func函数
  • 二:闭包
  • 什么是闭包:在内层函数中访问外层函数的局部变量.
  •  def func():
    name = '第一次-光良'
    def func2():
    print(name) #3,函数func2中没有name这个变量,会从外层找这个变量,这就是闭包.
    func2() #2,调用func2函数
    func() #1,调用func函数 #结果为'第一次-光良'
    • 相关操作:

      • 可以使用函数名.__closure来检测函数是否是闭包,如果返回None就不是闭包,
    • 好处:
      • 1)保护你的变量不受外界影响
      • 2)可以让变量常驻内存,供后面的程序使用.
  • 三:迭代器
    • 迭代器用来遍历列表,字符串,元组......可迭代对象
    • 相关操作:
      • 使用dir来查看该数据包含了哪些方法
      • 可迭代对象:Iterable,里面有__iter__( )可以获取迭代器,没有__next__( )
      • 迭代器:Iterator,里面有__iter__( )可以获取迭代器,还有__next__( )
    • 迭代器的特点:
      • 1)只能向前
      • 2)惰性机制(给一条指令,执行一次)
      • 3)省内存(生成器)
    • for循环的内部机制:
      • 1)首先获取到迭代器
      • 2)使用while循环获取数据
      • 3)it.__next__( )来获取数据
      • 处理异常 try:xxx except Stoplteration:

Python_Mix*函数名的使用以及第一类对象,闭包,迭代器,for循环的内部机制的更多相关文章

  1. python 函数名的应用(第一类对象),闭包,迭代器

    1.函数名的应用(第一类对象) 函数名的命名规范和变量是一样的 函数名其实就是变量名 可以作为列表中的元素进行储存. def func1(): pass def func2(): pass lst = ...

  2. python基础(13):函数名的使用、第一类对象、闭包、迭代器

    1. 函数名的运用 函数名是⼀个变量,但它是⼀个特殊的变量,与括号配合可以执⾏函数的变量. 1.1 函数名的内存地址 def func(): print("呵呵") print(f ...

  3. python 第一类对象 闭包 迭代器

    ########################总结########################### 1. 函数名 -> 第一类对象 函数名就是变量名. 函数可以赋值 函数可以作为集合类的 ...

  4. day11 第一类对象 闭包 迭代器

    今日主要内容: 1 . 第一类对象 -->函数名--> 变量名 2. 闭包 -->函数的嵌套 3. 迭代器 --> 固定的思想 for 循环 第一类对象  : 函数对象介意向变 ...

  5. python第一类对象,闭包,迭代器

    一.第一类对象 第一类对象 -> 函数名 -> 变量名 1.特征:     函数对象可以像变量一样进行赋值     还可以作为列表的元素进行使用     还可以作为返回值返回     还可 ...

  6. 巨蟒python全栈开发-第11天 第一类对象 闭包 迭代器

    一.今日主要内容总览(重点) 1.第一类对象->函数名=>变量名 (1)函数对象可以像变量一样进行赋值 (2)还可以作为列表的元素进行使用 (3)还可以作为返回值返回 (4)还可以作为参数 ...

  7. day11——函数名的使用、f格式化、迭代器、递归

    day11 函数名的第一类对象及使用 1.可以当作值被赋值给变量 def func(): print(1) print(func) a = func a() 2.当作元素存放在容器中 def func ...

  8. 13 Python之第一类对象闭包和迭代器

      def fn():     print("我叫fn") fn() print(fn)## <function fn at 0x0000000001D12E18> f ...

  9. python之函数闭包、可迭代对象和迭代器

    一.函数名的应用 # 1,函数名就是函数的内存地址,而函数名()则是运行这个函数. def func(): return print(func) # 返回一个地址 # 2,函数名可以作为变量. def ...

随机推荐

  1. redis的架构(一)

    redis认证 redis的认证比较简单,这里简单来说明一下怎么设置redis的认证: redis的配置文件中有一个requirepass字段,在后面直接写上对应的密码即可.默认redis的不开启认证 ...

  2. golang获取u盘序列号(通过读取注册表实现)

    仅供参考 package main import ( "fmt" "log" "os" "strconv" " ...

  3. 原博客地址http://blog.chinaunix.net/uid/20656672.html不再维护(10年前数百篇oracle/teradata性能优化、故障处理案例)

    原博客地址http://blog.chinaunix.net/uid/20656672.html不再维护(数百篇oracle/teradata性能优化.故障处理原创文章) 858871 top 500 ...

  4. HL-D793G七位蓝色+PT6311驱动

    和之前那块一起买的.又画了这个屏幕驱动,还画了灯丝电源驱动,和以前画的stm8核心板在JLC拼板. 亚光黑颜色,不单独收钱! 切好水洗吹干! 忘记给排针加丝印,手写代之. 焊接的时候,脑子发热,以为把 ...

  5. sqlite3出现SQLITE_BUSY错误码的原因以及解决方法

    转载:https://www.cnblogs.com/lijingcheng/p/4454884.html 转载:https://blog.csdn.net/venchia_lu/article/de ...

  6. mfc双缓冲绘图

    1.要求 在界面加载本地图片并显示,每过100ms改变一张图片显示 2.现象 通过定时器控制CImage,Load,Draw,Destroy,会非常的卡顿.因为Load图片时,会是非常大的数据[所有C ...

  7. Java实训作业1

    1.编写程序:声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果 2.编写程序:从键盘输入圆的半径,计算圆的面积并输出. 3.编写程序:实现一个数字加密器.运行时输入加密 ...

  8. speech

    1.李开复:一个人的成功,15%靠专业知识,其余15%人际沟通,公众演讲,以及影响他人的能力 2.演讲是一门遗憾的艺术 3.没有准备就等于准备失败 4.追求完美,就是在追求完蛋 5.宁可千日无机会,不 ...

  9. 性能测试监控工具nmon安装及使用方法

    1.概述 监控,在检查系统问题或优化系统性能工作上是一个不可缺少的部分.通过操作系统监控工具监视操作系统资源的使用情况,间接地反映了各服务器程序的运行情况.根据运行结果分析可以帮助我们快速定位系统问题 ...

  10. 小程序之 input框设置placeholder的style

    <input placeholder='></input>