In Python stieß ich auf ein seltsames Problem, wenn ich globale Variablen verwende.Die globale Variable in Python verstehen
Ich habe zwei Module (Dateien): mod1.py
und mod2.py
mod1
versucht in mod2
die globale Variable var
definiert zu ändern. Aber die var
in mod2 und var
in mod
scheint zwei verschiedene Dinge zu sein. Das Ergebnis zeigt also, dass eine solche Modifikation nicht funktioniert. Hier
ist der Code:
#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 :-(
Jeder Hinweis auf, warum dies geschieht? Und wie kann ich den Wert val
ändern, der in mod2
in mod1
definiert ist?
Dank
+1, aber um die Frage vollständig zu beantworten, sollten Sie erwähnen, was 'global' tut. Das Hauptproblem des OP scheint ein Missverständnis zu sein, wo es nützlich ist. – lvc
guten Punkt, fügte einige Dinge dazu hinzu. – kindall
Danke, ich glaube ich habe es verstanden. – xiaohan2012