0
有人可以向我解释为什么fails()
中的代码会抛出异常?这是一些蟒蛇2.7自动提升到全球功能?python全局变量在这里发生了什么?
glist = []
def works():
glist.append("one")
def works2():
for x in glist:
pass
glist.append("two")
def fails():
for x in glist:
pass
glist.append("failbot")
glist = []
if __name__ == "__main__":
works()
works2()
fails()
抛出:
Traceback (most recent call last):
File "autoglobal.py", line 20, in <module>
fails()
File "autoglobal.py", line 12, in fails
for x in glist:
UnboundLocalError: local variable 'glist' referenced before assignment
谢谢!我没有意识到这是清除列表的正确方法。 – portforwardpodcast