2016-09-17 72 views
-1

以下功能正常工作:这个函数为什么会抛出一个错误?

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() 

这究竟是为什么?

+1

[Python变量作用域错误]的可能重复(http://stackoverflow.com/questions/370357/python-可变范围误差) –

回答

0

在您的第一个示例中,a指的是全局变量a。第二,python解释你的行a=0,正因为如此,它认为你的意思是局部变量。要修复此错误,您可以将a作为第二个参数,或者将global a作为函数的第一行

相关问题