我有一个全局变量,我称为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