Python: Compartilhando variáveis globais entre módulos e classes nele
Eu sei que é possível compartilhar uma variável global entre módulos no Python. No entanto, gostaria de saber até que ponto isso é possível e por quê. Por exemplo,
global_mod.py
x = None
mid_access_mod.py
from global_mod import *
class delta:
def __init__(self):
print x
bot_modif_mod.py
import mid_access_mod
import global_mod
class mew:
def __init__(self):
global_mod.x = 5
def main():
m = mew()
d = mid_access_mod.delta()
Isso imprime Nenhum, mesmo que todos os módulos estejam compartilhando a variável global x. Por que esse é o caso? Parece que x é avaliado em mid_access_mod.py antes de ser atribuído em bot_modif_mod.py por mew ().