让我们考虑一个名为test1.py
的文件,其中包含以下代码:
def init_foo():
global foo
foo=10
让我们考虑另一个名为test2.py
的文件,其中包含以下内容:
import test1
test1.init_foo()
print(foo)
如果test1
在python路径上(并且正确导入),我现在会收到以下错误消息:
NameError: name 'foo' is not defined
任何人都可以向我解释为什么变量foo
在运行时global
范围内未被声明为test2.py
?此外,如果您可以为该问题提供解决方法吗?
THX!
答案 0 :(得分:0)
为什么要使用全球?回来吧
test1.py
def init_foo():
foo = 10
return foo
test2.py
foo = test1.init_foo()
print(foo)
答案 1 :(得分:0)
在test2.py
中,执行print(test1.foo)
代替print(foo)
,它会起作用。