Общие сведения о глобальных переменных в Python

Я столкнулся со странной проблемой в 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?

Спасибо

6
задан xiaohan2012 3 June 2012 в 07:05
поделиться