У меня есть два модуля в 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
При вызове main.foo()
из gui.py я получаю следующее исключение:
NameError: name 'interface' is not defined
Если я переместлю объявление foo()
в начало файла main.py, а затем вызову его из main.py, я не получу это исключение.
Почему эта ошибка возникает при вызове main.foo()
из gui.py?
Примечание. Это мой первый вопрос о StackOverflow, поэтому извините, если он не очень хорошо написан. Пожалуйста, скажите мне, как я мог бы это улучшить.