Python 使模块使用派生类?

Python 使模块使用派生类?,python,class,inheritance,module,project,Python,Class,Inheritance,Module,Project,我正在尝试扩展模块功能。该模块包括一个类(BaseContainer),该类包含同一模块中另一个类(BaseObject)的成员实例。我想扩展这两个类。但是BaseContainer似乎在使用BaseObject而不是扩展的派生对象 编辑:尝试重新构造项目。同样的结果 foo/ __init__.py bar/ __init.py__ from .BaseModule import BaseObject from .

我正在尝试扩展模块功能。该模块包括一个类(
BaseContainer
),该类包含同一模块中另一个类(
BaseObject
)的成员实例。我想扩展这两个类。但是
BaseContainer
似乎在使用
BaseObject
而不是扩展的派生对象

编辑:尝试重新构造项目。同样的结果

foo/
    __init__.py
    bar/
        __init.py__
            from .BaseModule import BaseObject
            from .BaseModule import BaseContainer
BaseModule.py

DerivedModule.py

但是如果我实例化一个
DerivedContainer
,它就是
myObject
没有
derivedMember


我对这个结果并不感到惊讶,基本模块对
DerivedContainer
一无所知是有道理的。但是有办法解决这个问题吗?

DerivedModule.py
的末尾添加:

BaseModule.BaseObject = DerivedObject
注意:如果您这样做,那么其他模块也将获得
DerivedObject
,而不是
BaseObject

from . import BaseModule

class DerivedObject(BaseModule.BaseObject):
    def __init__(self):
        BaseObject.__init__(self)
        self.derivedMember = True

class DerivedContainer(BaseContainer):
    def __init__(self):
        BaseContainer.__init__(self)
        Other code
BaseModule.BaseObject = DerivedObject