在以下 Python 代码中,我得到一个UnboundLocalError
. 据我了解,局部函数共享包含函数的局部变量,但这里似乎并非如此。我承认a
在这种情况下这是一个不可变的价值,但这不应该是一个问题。
def outer():
a = 0
def inner():
a += 1
inner()
outer()
似乎内部函数已收到父函数中所有引用的副本,因为UnboundLocalError
如果 的值a
被包装在可变类型中,我不会得到异常。
有人能够澄清这里的行为,并指向我相应的 Python 文档吗?