2016-09-17 86 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作爲函數的第一行

相關問題