闭包概念:在函数的内部调用其他函数变量的现象(函数里的变量是局部变量,作用域只有函数本身)闭包就是函数包裹着函数的现象。
闭包常用方式:在使用内部函数时,可以将函数名作为返回值返回。(在python中,支持将函数当作对象使用,也就是可以将一个函数当作普通变量一样用作另一个函数的参数和返回值。)
def outer():
print("这是一个闭包函数")
a = 10
def inner():
print("这是里面函数的代码")
b = 20
print(a + b)
return inner
res = outer() #将函数的返回值赋给res这个变量,即res = inner
res() #res() = inner()
print(res) #将函数的返回值inner(实质上是inner的内存地址)打印出来
>>>
这是一个闭包函数
这是里面函数的代码
30
<function outer.<locals>.inner at 0x00000176EB8A73A0>