0

这是在 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
4

1 回答 1

4

放在global v你的print_v函数里面。

但是,您应该考虑为什么要使用(和修改)全局变量。这通常是一种脆弱的做事方式。

于 2013-02-23T21:36:43.227 回答