Mi sono imbattuto in uno strano problema in Python quando si utilizzavano variabili globali.Informazioni sulla variabile globale in Python
ho due moduli (file): mod1.py
e mod2.py
mod1
tenta di modificare la variabile globale var
definito mod2
. Ma lo var
in mod2 e var
in mod
sembra essere due cose diverse. Pertanto, il risultato mostra che tale modifica non funziona.
Ecco il codice:
#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 :-(
Qualsiasi suggerimento su perché questo accade? E come posso modificare il valore di val
definito in mod2
in mod1
?
Grazie
+1, ma per rispondere completamente alla domanda è necessario menzionare cosa fa "globale". Il problema principale dell'OP sembra essere l'incomprensione in cui è utile. – lvc
buon punto, aggiunto alcune cose al riguardo. – kindall
Grazie, penso di aver capito. – xiaohan2012