我通过修改主模块中的全局值来切换程序模式。python变量 - 模块之间的不和谐
该更改反映在源自该模块内部的以下函数调用中,但其他模块调用相同函数时不会发生该更改。
当函数调用来自外部时,主模块是否使用旧/外部/重复值?
main_module.py
import second_module
mode = 1
def print_mode():
print 'Mode: ' + str(mode)
if __name__ == "__main__":
print_mode()
mode = 2
print_mode()
second_module.problem()
second_module.py
from main_module import print_mode
def problem():
print_mode()
输出
$ python main_module.py
Mode: 1
Mode: 2
Mode: 1
'global'关键字不会在那里,因为它在模块范围 – Eric
谢谢,删除它。 – fivecode