6
在使用全局變量時,我在Python中遇到了一個奇怪的問題。在Python中瞭解全局變量
我有兩個模塊(文件):mod1.py
和mod2.py
mod1
試圖修改在mod2
定義的全局變量var
。但mod2中的var
和mod
中的var
似乎是兩個不同的事情。因此,結果表明這種修改不起作用。
下面是代碼:
#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 :-(
爲什麼發生這種情況的任何暗示?如何修改mod2
中定義的val
的值mod1
?
感謝
+1,但要完全回答這個問題,你應該提及'global'的作用。 OP的主要問題似乎是誤解了它的用處。 – lvc
好點,增加了一些關於這一點。 – kindall
謝謝,我想我明白了。 – xiaohan2012