在Python的不同模块中使用全局变量
简要介绍如何在Python
中利用global关键字定义的全局变量在不同模块间共享,避免后续重复犯错。
背景
它们位于同一个模块下:
|
|
各自内容分别如下
app1.py
有一个 global
修饰的全局变量,通过set_variables
方法对其值进行修改
|
|
main.py
主程序,调用上述方法并打印出MESSAGE
的值
|
|
不生效用法
一开始自己想复用import xxx from xxx
这种用法,将main.py
修改为如下
|
|
结果输出值为None
,没有达到预期的结果。
正确用法
直接用import xxx
实现
|
|
或用import xxx as xxx
给其加上一个别名
|
|
原因分析
参见Global variable not changing between files in python中的大佬回答如下:
The syntax
from globals.py import *
makes copies of the variables withinglobals.py
into your local file. To access the variables themselves without making copies,import globals
and use the variable directly:globals.filename
. You no longer need theglobal
keyword if you access the variable this way.