我一直找不到这个问题对我不起作用的原因,所以我想在这里问一个问题。
我有 2 个文件:
file2.py:
def test():
global justTry
justTry = "hello"
和main.py:
from file2 import *
def main():
print(justTry)
if __name__ == '__main__':
test()
main()
我收到错误消息:NameError: name 'justTry' is not defined。
为什么我不能使用 justTry
变量,我在列表之前的步骤中将其声明为全局变量?
答案 0 :(得分:3)
当“*importing”某些东西时,它会执行代码,并将全局变量复制到你的全局变量中。但是如果全局变量稍后被改变,它不会重新复制全局变量。解决办法是,调用test后重新导入文件
file2.py:
def test():
global justTry
justTry = "hello"
main.py:
from file2 import *
def main():
print(justTry)
if __name__ == '__main__':
test()
from file2 import *
main()