解释在Python中导入的模块中全局变量的可见性吗?

Python中的全局变量是模块的全局变量,而不是所有模块的全局变量。(与C不同,除非明确将其设为静态,否则在所有实现文件中,全局都是相同的。)如果您需要导入模块中真正的全局变量,则可以在导入模块的属性中进行设置。

import module1
module1.a=3

另一方面,如果a由许多模块共享,则将其放置在其他位置,并让每个人都将其导入:

global_module.py
module1.py:
import global_module
def fun():
    print global_module.var
Other files:
import global_module
import module1
global_module.var = 3
module1.fun()