在修改其值的函数中使用模块局部变量的最佳方法是什么?

时间:2013-02-23 21:34:05

标签: python python-2.7 scope

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

1 个答案:

答案 0 :(得分:4)

global v放入print_v功能。

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