我通过修改主模块中的全局值来切换程序模式。
更改反映在源自该模块内部的以下函数调用中,但不会在其他模块调用相同函数时反映。
当函数调用来自外部时,主模块是否使用旧的/外部的/重复的值?
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