这个问题已经在这里有一个答案:
- 在嵌套函数的Python覆盖变量 4个回答
在下面的第二种情况,巨蟒试图寻找一个局部变量。 如果它没有找到一个,为什么不能看在外部范围像它的第一种情况?
这看起来对于x在局部范围内,那么外范围:
def f1():
x = 5
def f2():
print x
这使local variable 'x' referenced before assignment
的错误:
def f1():
x = 5
def f2():
x+=1
我不允许修改函数f2()的签名,所以我不能传递和返回x的值。 不过,我需要一种方法来修改X。 有没有办法明确告诉Python来寻找一个变量名外部范围(类似的东西global
关键字)?
Python版本:2.7