python之路---11 第一类对象 函数名 闭包 迭代器

二十九.

  1.函数名的运用

     ①函数名是?个变量, 但它是?个特殊的变量, 与括号配合可以执?函数的变量

   ②函数名是一个内存地址

     ③ 函数名可以赋值给其他变量

   

        ④函数名可以当做容器类的元素

  

      ⑤函数名可以当做函数的参数

      ⑥函数名可以作为函数的返回值

  2.闭包

  闭包就是内层函数, 对外层函数(非全局)的变量的引?.

  

标准的闭包

    ①优点:1).可以保护变量不受侵害

     2),保持一个变量常驻内存

  ②    .__closure__    查看是否是闭包

返回 None  就不是闭包

       返回一个地址  是闭包

  ③   在外部调用内部

   1).单层

  2).多层

  

  3.迭代器

  1.一个数据类型中包含了__iter__函数表示这个数据是可迭代的

    dir(数据): 返回这个数据可以执行的所有操作

  

    2.判断迭代器和可迭代对象的方案(野路子)

    __iter__                    Iterable 可迭代的(str, list, tuple, dict, set)

    __iter__   __next__   Iterator 迭代器

  3.判断迭代器和可迭代对象的方案(官方)

    借助两个模块  from collections import Iterable, Iterator

    isinstance(对象, Iterable) 是否是可迭代的

    isinstance(对象, Iterator) 是否是迭代器

    4.模拟for 循环

  

    5.特征:

    1. 省内存(生成器)
    2. 惰性机制
    3. 只能向前. 不能后退

    作用:统一了各种数据类型的遍历

原文地址:https://www.cnblogs.com/lw1095950124/p/10197719.html

时间: 2024-10-08 09:04:26

python之路---11 第一类对象 函数名 闭包 迭代器的相关文章

第一类对象 函数名 变量名

第一类对象 --> 函数名 --> 变量名 函数对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 可以作为返回值返回 可以作为参数进行传递 闭包-->函数的嵌套 内层函数对外层函数中的变量的使用 好处: 1.保护变量不被侵害   2. 让一个变量常驻内存 如何通过代码查看一个闭包 __closure__:有东西就是闭包. 没东西就不是闭包 迭代器 --> 固定的思路. for 循环 一个数据类型中包含了__iter__函数表示这个数据是可迭代的 dir(数据): 返回这个数

函数名 闭包 迭代器

函数名 函数名就是变量;  函数名可以作为参数进行传递 1. 函数名的内存地址 def func(): print("哈哈") print(func) #<function func at 0x01CDD4B0> 2. 函数名可以赋值给其他变量 def func(): print("呵呵") print(func) a = func #把函数当成变量 赋值给另一个变量 a() # 函数调用 func() 3. 函数名可以作为列表中的元素进行存储 def

11 第一类对象 闭包 迭代器

今日主要内容 第一类对象-> 函数名 -> 变量名 函数对象对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 可以作为返回值返回 可以作为参数进行传递 闭包 -> 函数的嵌套 内层函数对外层函数中的变量的使用 好处: 1. 保护变量不被侵害 2. 让一个变量常驻内存 如何通过代码查看一个闭包 __closure__: 有东西就是闭包. 没东西就不是闭包 迭代器 -> 固定的思路. for循环 一个数据类型中包含了__iter__函数表示这个数据是可迭代的 dir(数据):

python之路(sed,函数,三元运算)

python之路(sed,函数,三元运算) 一.sed集合 1.set无序,不重复序列 2.创建 1 se = {11,22,33,33,44} 2 list() #只要是一个类加上()自动执行 list __init__ 3 list = [11,22] 4 5 s1 = set(list) 6 print(s1) 7 8 #创建集合 9 s1 = {11,22} 10 s2 = set('可循环的') 11 12 #操作集合 13 s = set() 14 print(s) 15 s.add

第一类对象(函数),闭包及迭代器

第一类对象 函数对象对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 可以作为返回值返回 可以作为参数进行传递 def wrapper(): def inner(): print("alex") return inner # 可以返回函数名 ret = wrapper() ret() # 在函数外访问函数内的函数 闭包 闭包(函数的嵌套) 内层函数对外层函数中的变量的使用 好处: 1. 保护变量不被侵害 2. 让一个变量常驻内存 如何通过代码查看一个闭包 __closure__

python之函数名,闭包、迭代器

一.函数名的运用(第一类对象) 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 1,函数名的内存地址: def func(): print("呵呵") print(func) # 结果为:<function func at 0x00000000029299D8> 打印出func的内存地址 2,函数名可以赋值给其他变量: def func(): print("呵呵") a = func # 把函数当成一个变量赋值给另一个变量 a()

python之路———第二章:函数

---恢复内容开始--- 一.初识函数 一.定义函数 def  f1(): #定义函数 asdf 1.def #关键字,创建函数 2.f1 #函数名 3.() 4.asdf... #函数体(执行的代码) 5.返回值 f1() #执行函数 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算,如:发送邮件等... 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 二.参数 1.普通参数:严格按照

python之路(二)函数

python 函数 1. def 定义函数关键字: 2. 函数名,日后通过函数名调用该函数: 3. 函数声明,不自动执行: 4. 函数的参数: 5. 函数的返回值: 返回值: 1. 未明确指定返回值,返回none: 2. 返回值可以赋值给某个变量: 3. 返回值可以是变量也可以是数据结构. 参数: 1. 形参 2. 实参 3. 函数可以定义多个参数 默认参数: 1. 不传,则使用默认值: 2. 传参,则覆盖默认值. 动态参数: 1. 接收多个参数,传序列时: 2. 内部自动构造元祖: 3. 序列

python之路---13 内置函数

三十一.内置函数 思维导图 1.作用域相关 locals()     返回当前作用域中的名字 globals()  返回全局作用域中的名字 2.迭代器相关 range()     生成数据 next()      迭代器向下执行一次   等价于  .__next__() iter()        获取迭代器      等价于   .__iter__() 3.字符串类型代码的执行 ①eval    执行字符串类型的代码,并返回最终结果 可还原 字典  列表  元组 ②exec    执行字符串类