【发布时间】:2010-11-27 17:02:38
【问题描述】:
在以下 Python 代码中,我得到一个 UnboundLocalError。据我了解,局部函数共享包含函数的局部变量,但这里似乎并非如此。我认识到 a 在这种情况下是一个不可变的值,但这应该不是问题。
def outer():
a = 0
def inner():
a += 1
inner()
outer()
内部函数似乎已收到父函数中所有引用的副本,因为如果 a 的值包装在可变类型中,我不会收到 UnboundLocalError 异常。
是否有人能够澄清这里的行为,并指出相应的 Python 文档?
【问题讨论】:
标签: python function binding model local