我知道可以在Python中跨模块共享全局变量.但是,我想知道这可能的程度和原因.例如,
global_mod.py
x = None
Run Code Online (Sandbox Code Playgroud)
mid_access_mod.py
from global_mod import *
class delta:
def __init__(self):
print x
Run Code Online (Sandbox Code Playgroud)
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()
Run Code Online (Sandbox Code Playgroud)
即使所有模块共享全局变量x,也会打印None.为什么会这样?似乎x在mid_access_mod.py中被评估,然后由mew()在bot_modif_mod.py中分配.