一、定义
- 闭:定义在函数内部的函数。
- 包:内部函数引用了外部函数作用域的名字。
二、示例:
def outter():
x = 111
def inner():
print(x)
return inner
res = outter()
print(res)
# 可以看出outter() 返回的是inner的内存地址。
>>: <function outter.<locals>.inner at 0x00000254D53ACDC0>
三、解释
inner()
为定义在outter()
内部的函数。- 内部函数
inner()
引用了外部函数作用域的x
。
扩展
outter ()
返回的是inner()
内存地址,则可以得到如下结果。
res = outter()
res()
>>: 111