闭包
内层函数对外层函数非全局变量的引用,叫做闭包。
闭包的好处:如果python 检测到闭包,有一个机制,你的局部作用域不会随着函数的结束而结束。
def weapper():
name1='老男孩' #=======
def inner(): #中间部分叫闭包
print(name1)
inner() #=======
wrapper()
#判断是否时闭包 __closure__ #返回 None 代表不是闭包
def wrapper():
name1 = '老男孩'
def inner():
print(name1)
inner()
print(inner.__closure__) #返回cell 是闭包
wrapper()
#返回结果
老男孩
(<cell at 0x00000211CB627498: str object at 0x00000211CB5FAAB0>,) #返回内存地址
posted on 2018-04-21 21:52 python21-李伟 阅读(104) 评论(0) 编辑 收藏 举报