首页 > 解决方案 > AttributeError:模块没有属性,同时避免循环引用错误

问题描述

我想在 python 中使用 M-VC 模式创建小应用程序。我正在使用 PyCharm,我的文件夹结构如下所示

为了避免循环引用的问题,我使用importnot from ... import

当我的 viewController.py 看起来像这样时,程序执行没有错误:

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

在初始化方法中添加model.Model表达式会导致错误:为什么它在 model.py 中起作用?出了什么问题?AttributeError: module 'model' has no attribute 'Model'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)

模型.py

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

标签: pythonpython-3.xpycharmattributeerror

解决方案


推荐阅读