我有一個全局變量,我稱爲Y_VAL,它被初始化爲2的值。爲什麼python認爲這是一個局部變量?
然後我有一個函數,稱爲f()(爲了簡潔),它使用Y_VAL。
def f():
y = Y_VAL
Y_VAL += 2
但是,試圖運行我的代碼的時候,蟒蛇提供錯誤消息:
UnboundLocalError: local variable 'Y_VAL' referenced before assignment
如果我刪除最後一行Y_VAL += 2
它工作正常。
爲什麼python認爲Y_VAL是一個局部變量?
可能的重複[爲什麼我不能在Python中設置全局變量?](http://stackoverflow.com/questions/1281184/why-cant-i-set-a-global-variable-in-python ) – Mark 2012-05-12 12:18:40