我想使用python中的M-VC模式创建小型应用程序。我正在使用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'
为什么在带有viewController.ViewController
的model.py中起作用?怎么了?
[new] 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)