python闭包及其写法

闭包的概念:
1. 函数名是什么
函数名就是一个标识符,一个指向内存地址的变量
该变量可以被调用, 如果调用执行则执行的是变量指向的内存空间中的函数体,如果不调用则是一个变量名
#函数名是什么
def show():
print(123)
#show #就是指向一个内存空间的变量名,只不过内存空间中存放的是函数
print( show )
show()
2. 闭包
闭包实现封闭作用域,让程序访问到不可访问的内部数据
闭包的实现:将内部函数作为一个参数返回出去,让内部函数具备多重身份,即可以被外部调用,又是内部函数(可以访问到上一级函数的数据)
3. 闭包的特征
1) 函数内嵌套函数
2) 将内部函数作为一个返回值
3) 在内部函数中访问上一级函数的数据
写法:
def outer(a):
b = 10
def inner():
print(a+b)
return inner
'''

调用方式一

res = outer(5)
res()
'''

调用方式二

outer(20)()
闭包的作用:
1. 替代简单的类
优点:
内存资源占用少
执行速度快
代码简洁,开发速度快
2. 延迟执行、惰性函数
如果需要做一些非常耗时的操作,可以利用闭包的延迟执行效果,实现更好的用户体验

你可能感兴趣的:(python闭包及其写法)