Я знаю, что можно использовать глобальную переменную для модулей в Python. Однако я хотел бы знать, насколько это возможно и почему. Например,
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()
Отпечатывает None, хотя все модули используют глобальную переменную x. Почему это так? Похоже, что x оценивается на mid_access_mod.py, прежде чем он будет назначен в bot_modif_mod.py с помощью mew().