使用全局变量时,我在 Python 中遇到了一个奇怪的问题。
我有两个模块(文件):mod1.py
和mod2.py
mod1
试图修改在var
中定义的全局变量mod2
。但是var
in mod2 和var
inmod
似乎是两个不同的东西。因此,结果表明这种修改不起作用。
这是代码:
#code for mod2.py
global var
var = 1
def fun_of_mod2():
print var
#code for mod1.py
from mod2 import var,fun_of_mod2
global var #commenting out this line yields the same result
var = 2 #I want to modify the value of var defined in mod2
fun_of_mod2() #but it prints: 1 instead of 2. Modification failed :-(
关于为什么会发生这种情况的任何提示?以及如何修改in中val
定义的值?mod2
mod1
谢谢