这是在Python 2.7中。这是一个例子。
v = 1
def print_v():
v += 1
print v
print_v()
如何重写,导入此模块时,我不明白:
$ python -c "import the_above_module"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "the_above_module.py", line 9, in <module>
print_v()
File "the_above_module.py", line 6, in print_v
v += 1
UnboundLocalError: local variable 'v' referenced before assignment
答案 0 :(得分:4)
将global v
放入print_v
功能。
但是,您应该考虑使用(和修改)全局变量的原因。做事通常是一种脆弱的方式。