def some_func(a):
def access_a():
print(a)
access_a()
输出a
的值。然而,如果我想像这样在嵌套函数中更改a
:
def some_func(a):
def change_a():
a += 1
print(a)
change_a()
这段代码会引发UnboundLocalError
异常。
虽然我知道a
是一个非局部变量,但我为什么可以在不声明nonlocal a
的情况下访问它呢?
global a
吗? - Fomalhaut