从Python中的其他模块调用方法时发生NameError

时间:2018-06-27 01:18:10

标签: python function import python-import

我在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的第一个问题,所以如果编写得不好,我感到抱歉。请告诉我如何改善它。

0 个答案:

没有答案