我在Python 3中有两个模块-main.py和gui.py-都位于同一目录中。我的代码在这里列出:
main.py:
import gui
if __name__ == "__main__":
interface = gui.Gui()
interface.func1()
def foo():
interface.func2()
gui.py:
import main
class Gui:
def func1(self):
main.foo()
def func2(self):
pass
从gui.py调用main.foo()
时,出现以下异常:
NameError: name 'interface' is not defined
如果将foo()
声明移到main.py文件的顶部,然后从main.py调用它,则不会出现此异常。
为什么从gui.py调用main.foo()
时会发生此错误?
注意:这是我关于StackOverflow的第一个问题,所以如果编写得不好,我感到抱歉。请告诉我如何改善它。