我们之前已经看到了如何在 Python 中创建一个嵌套函数。
如果你从一个函数中返回一个嵌套函数,这个嵌套函数就可以访问该函数中定义的变量,即使该函数不再活动。
下面是一个简单的反例。
def counter():
count = 0
def increment():
nonlocal count
count = count + 1
return count
return increment
increment = counter()
print(increment()) # 1
print(increment()) # 2
print(increment()) # 3
我们返回increment() 内部函数,即使counter() 函数已经结束,它仍然可以访问count 变量的状态。