グローバル変数を使用しているときに、Pythonで奇妙な問題に遭遇しました。
私は2つのモジュール(ファイル)を持っています:mod1.py
そしてmod2.py
mod1
var
で定義されたグローバル変数を変更しようとしmod2
ます。しかし、var
mod2とvar
inmod
は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
ますか?
ありがとう