使用一个模块来专门管理全局变量,其他模块再通过导入该模块来间接对全局变量进行操作。
为了避免造成全局变量的赋值混乱,对于每一个全局变量,可以有多个模块读取该全局变量,但尽量只有一个模块用来对其进行赋值操作(根据要实现的代码的具体情况而定),且要注意读和写的顺序关系,也要注意读和读之间的顺序关系,避免出现错误。
示例如下:
#文件名为 c.py,用来管理全局变量
def init_val():
global dict_val
dict_val = {'a' : None, 'b' : False, 'c' : None}
def set_value(key, value):
# global dict_val
dict_val[key] = value
def get_value(key):
# global dict_val
return dict_val[key]
#文件名为 b.py,用来对全局变量进行赋值
import c
def set():
c.set_value('a', 23)
#主程序 a.py
(注意顺序,先初始化全局变量,再进行写和读的操作。)
import c
import b
c.init_val()
b.set()
a_value = c.get_value('a')
print(a_value)
运行a.py,结果如下。
23
[Finished in 0.5s]