Я столкнулся со странной проблемой в Python при использовании глобальных переменных.
У меня есть два модуля (файла): mod1.py
и mod2.py
mod1
пытается изменить глобальную переменную var
, определенную в мод2
. Но var
в mod2 и var
в mod
кажутся двумя разными вещами. Таким образом, результат показывает, что такая модификация не работает.
Вот код:
#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
?
Спасибо