如何更改模块内部的全局变量的值,并在所有模块中使用更新后的值?

时间:2019-07-06 05:20:39

标签: python-3.x namespaces global

项目结构如下: 我有一个测试目录,其中有main.py和一个scripts文件夹。脚本文件夹具有 init .py,test1.py和global_var.py模块。

Project structure

Scripts directory

以下是global_var.py模块的内容

a = 'global'

下面是test1.py模块的内容

from .global_var import *
def test_1():
    global a
    print('a inside test1->', a)

下面是main.py模块的内容

from scripts.global_var import *
from scripts.test1 import test_1


def main():
    global a 
    print(a)
    a = 'local'
    print(a)
    test_1()

if __name__ == '__main__':
    main()

输出如下:

global
local
a inside test1-> global

在main.py中,我正在将全局变量“ a”更新为“ local”。但是,当我调用test_1()时,'a'的值在test_1()中仍然是“ global”。我希望在所有模块中将此值更新为“本地”。有人可以指导我吗?

0 个答案:

没有答案