如何在模块的任何位置使用和编辑全局变量?我的项目看起来像
project/
---- models/
---- ---- first.py
---- ---- second.py
---- run.py
Run.py是主要的,我使用它启动app,全局变量初始化。
答案 0 :(得分:2)
你必须import
将它们放入你想要使用它们的任何其他模块中。全局变量只对它们所在的文件是全局的(除非在别处导入)。
请注意,如果您希望更改在导入的模块之外传播,则需要执行以下两项操作之一:
from
导入语法(例如import foo.bar
然后foo.bar = <value>
)这样做的原因是,如果您使用from
导入,它会创建一个本地版本的变量,该变量独立于另一个模块的变量,但具有相同的值。对于可变类型,此值是引用,因此只要您就地修改对象,更改将在任何位置都可见(因为所有引用都将指向同一对象)。