import导入多模块包含全局变量时出现的问题

当多个模块都使用了同一个全局变量时会出现问题
[例]common.py文件中 有一个HANDLE_FLAG = FALSE的全局变量
import导入多模块包含全局变量时出现的问题_第1张图片
import导入多模块包含全局变量时出现的问题_第2张图片
(1)当我们都使用import common时 没有任何问题。原因是import会在handle_msg.py中定义一个对象common指向common.py中HANDLE_FLAG(模块中的变量)
因此HANDLE_FLAG值的改变不影响调用
(2)但是当我们使用from common import HANDLE_FLAG 时,
相当于定义一个HANDLE_FLAG 变量指向FLASE(值),再次调用HANDLE_FLAG = TRUE时,相当于把HANDLE_FLAG =FLASE
=>HANDLE_FLAG =FLASE 并没有改变common.py中的变量
因此在使用多模块且有共同使用的变量时要使用import *** 进行导入

你可能感兴趣的:(学习记录)