【发布时间】:2012-03-05 02:31:39
【问题描述】:
我在这里做错了什么?
counter = 0
def increment():
counter += 1
increment()
上面的代码抛出一个UnboundLocalError。
【问题讨论】:
-
Python chatroom 正在讨论这个问题以及它当前标记为重复的问题。
-
这里的许多答案都说要使用
global,尽管这样可行,但当存在其他选项时,通常不建议使用可修改的全局变量。 -
@ZeroPiraeus 2012 年提出的问题不能与 2016 年提出的问题重复……而较新的问题是重复的。
-
@dsh That's not true.
-
@juanpa.arrivillaga 虽然一般问题是 关闭 并更新非本地绑定。 UnboundLocalError 也可能发生在完全局部变量上,但它们是不同的问题(使用不同的解决方案)。
标签: python scope closures global-variables