AttributeError: модуль не имеет атрибута, избегая ошибки циклической ссылки - PullRequest
0 голосов
/ 31 октября 2018

Я хотел бы создать небольшое приложение, используя шаблон M-VC в Python. Я использую PyCharm, и моя структура папок выглядит как this .

Чтобы избежать проблем с циклическими ссылками, я использую import, а не from ... import.

Программа выполняется без ошибок, когда мой viewController.py выглядит так:

import model
class ViewController:
    def initialize(self, mod):
        self.model = mod

Добавление model.Model выражения внутри инициализация метод приводит к ошибке: AttributeError: module 'model' has no attribute 'Model' Почему он работает в model.py с viewController.ViewController? А что не так?

[новый] viewController.py

import model
class ViewController:
    def initialize(self, mod:model.Model):
        self.model = mod

Назад / __ init_.py

import model
import viewController
mModel = model.Model()
mVC = viewController.ViewController()
mModel.initializeApp(mVC)

model.py

import viewController
class Model():
    def initializeApp(self, viewContr: viewController.ViewController):
        self.vc = viewContr
        self.vc.initialize(self)
...