提问者:小点点

模块之间的全局变量[重复]


我无法找到这件事对我不起作用的原因,因此我想在这里问一个问题。

我有两个文件:

文件2。py:

def test():
    global justTry
    justTry = "hello"

和main。py:

from file2 import *

def main():
    print(justTry)

if __name__ == '__main__':
    test()
    main()

我得到的错误:名称错误:名称'只是尝试'没有定义。为什么我不能使用我在列表前的步骤中声明为全局变量的只是尝试变量?


共1个答案

匿名用户

当“*导入”某些内容时,它会执行代码,并将全局文件复制到您的全局文件中。但是如果以后修改全局变量,它将不会重新复制全局变量。解决方案是,在调用test后重新导入文件

文件2。py:

def test():
    global justTry
    justTry = "hello"

main.py:

from file2 import *

def main():
    print(justTry)

if __name__ == '__main__':
    test()
    from file2 import *
    main()