博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
神奇语言python 第一类对象 闭包 迭代器
阅读量:6608 次
发布时间:2019-06-24

本文共 1400 字,大约阅读时间需要 4 分钟。

第一对象:
查看函数的内存地址   print(函数名) 函数可以当做值,赋值给变量 函数可以参数,传递个函数的形参 函数当参数的时候不能加括号 函数可以当返回值 当返回值的时候不括号 函数名可以元素存在容器里
def fn():    print("我叫fn")fn()print(fn)  # 
第一对象
闭包:
闭包:嵌套函数,内部函数使用外部变量(非全局变量)就是闭包  闭包好处, 保护这个变量不被外界修改 生命周期延长 节省开辟空间和销毁空间的时间差,提高效率
def wrapper():    a = "哈哈" # 不安全的一种写法    name = "周杰伦"    def inner():        print(name) # 在内层函数中使用了外层函数的局部变量        print(a)    def ok():        nonlocal a        a = 108        print(a)    return inner  # 返回函数名ret = wrapper()ret()
def wrapper():    name = "周杰伦" # 局部变量常驻与内存    def inner():        print(name) # 在内层函数中使用了外层函数的局部变量    return inner  # 返回函数名    # inner()ret = wrapper() # ret是一个内层函数ret() # ret是inner, 执行的时机是不确定的, 必须保证里面的name必须存在
迭代器
除去整型和布尔值剩下现已知都是 迭代器: 遵守迭代器的协议  具有__iter__()方法和__next__()方法 创建一个迭代器 == 可迭代对象.__iter__() 使用迭代器 == 迭代器.__next__() list 列表dict字典 set 集合tupie 元祖都可以
print(s.__iter__())  # 对象    iterator  迭代器print(lst.__iter__())print(dict.__iter__({
'1':2}))print(set.__iter__({
'1',2}))print(tuple.__iter__(('1',2)))print(range.__iter__(range(0,7)))

迭代器 特点:

迭代器不能回退 迭代器是惰性的 迭代器是一次性的
#########for循环的机制########### lst = [1,2,3,4,5] count = 0 l = lst.__iter__() while count < len(lst):    print(l.__next__())    count += 1 lst = [1,2,3,4,5,67,7] l = lst.__iter__() while True:    try:   # 异常捕获       print(l.__next__())    except StopIteration:       break

 

转载于:https://www.cnblogs.com/zhangguangpei/p/10256430.html

你可能感兴趣的文章
ORACLE expdp备份与ORA-31693、ORA-02354、ORA-02149
查看>>
SAP S/4 HANA新变化-信用管理
查看>>
doc-remote-debugging.html
查看>>
DBMS_STATS.GATHER_TABLE_STATS
查看>>
Java-单机版的书店管理系统(练习设计模块和思想_系列 五 )
查看>>
嵌入式 详解udev
查看>>
《C程序员:从校园到职场》出版预告(2):从“百花齐放”到“一枝独秀”
查看>>
Network Monitor 查询命令和MySQL命令
查看>>
好“戏”刚刚开幕 云计算逐步被认可
查看>>
云安全:这也是需要花大钱去建设的部分
查看>>
以全局产业观领航智慧城市建设
查看>>
5G网络不止能1秒下一部电影,它还能够…
查看>>
中国电信集采终端6700万部 金额达1070亿元
查看>>
2016年的十个数据中心故事
查看>>
《Java并发编程的艺术》一一3.3 顺序一致性
查看>>
《CCNP SWITCH 300-115认证考试指南》——导读
查看>>
《设计之外——比修图更重要的111件事》—第1部分3 虚心学习
查看>>
Solaris Studio 12.4 Beta update 7/2014
查看>>
EVCache —— Netflix 的分布式内存数据存储
查看>>
《用友ERP-U8(8.72版)标准财务模拟实训》——1.4 系统管理注册和导入演示账套...
查看>>