グローバル変数を使用しているときに、Pythonで奇妙な問題に遭遇しました。
私は2つのモジュール(ファイル)を持っています:mod1.pyそしてmod2.py
mod1varで定義されたグローバル変数を変更しようとしmod2ます。しかし、varmod2とvarinmodは2つの異なるもののようです。したがって、結果は、そのような変更が機能しないことを示しています。
コードは次のとおりです。
#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 :-(
なぜこれが起こるのかについてのヒントはありますか?valそして、どうすればで定義されmod2たの値を変更できmod1ますか?
ありがとう