15.6 闭包(closure)
闭包是一种现象,弱数据类型语言特有的
概念:在函数的内部可以去调用其他函数的变量的现象(函数的变量是局部变量,作用域是函数本身)函数包裹着函数的现象就是闭包
def outer():
print("这是一个闭包函数")
a = 10
def inner():
print("这是函数里面的代码")
b = 20
print(a + b)
#return inner()
return inner
res = outer()
print(res)
#指向函数
res()
调用函数的本质压栈的过程
python中不建议使用闭包,因为会让函数常驻到内存,导致垃圾不能及时释放,局部变量变成全局
变量,用在装饰器