以下功能正常:
def ex():
for x in a:
print(x)
a=[200]
ex()
但是下面会抛出一个" UnboundLocalError:局部变量' a'在转让前引用"错误
def ex():
for x in a:
print(x)
a=0
a=[200]
ex()
为什么会这样?
答案 0 :(得分:0)
在第一个示例中,a
引用全局变量a
。在第二个中,python解释你的行a=0
,因此,它认为你的意思是局部变量。要修复错误,您可以将a
作为第二个参数,或者将global a
写为函数的第一行