函数-闭包函数
Posted 许儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数-闭包函数相关的知识,希望对你有一定的参考价值。
闭包函数:
内部函数引用外部函数而非全局作用域的变量,该内层函数称为闭包函数
闭包好处:若python检测到闭包,局部作用域不会随着函数的结束而关闭,会一直在内存中。
这才是闭包函数最常用的用法:爬虫,装饰器
def func():
name = ‘eva‘
def inner():
print(name)
return inner
f = func()
f()
判断闭包函数的方法__closure__
#输出的__closure__有cell元素 :是闭包函数
def func():
name = ‘eva‘
def inner():
print(name)
print(inner.__closure__)
return inner
f = func()
f()
#输出的__closure__为None :不是闭包函数
name = ‘egon‘
def func2():
def inner():
print(name)
print(inner.__closure__)
return inner
f2 = func2()
f2()
闭包的嵌套
def wrapper():
money = 1000
def func():
name = ‘eva‘
def inner():
print(name,money)
return inner
return func
f = wrapper()
i = f()
i()
以上是关于函数-闭包函数的主要内容,如果未能解决你的问题,请参考以下文章
Groovy闭包 Closure ( 闭包参数绑定 | curry 函数 | rcurry 函数 | ncurry 函数 | 代码示例 )