抱歉,我这么晚才看到,但是
class MixedClass2(SomeMixin, MyClass): pass>>> m = MixedClass2() mixin before base mixin after
@Ignacio谈论的模式称为合作多重继承,这很棒。但是,如果基类对合作不感兴趣,则将其作为第二个基础,而将其混入第一个。在
__init__()Python的MRO之后,将在基类之前检查mixin
(及其定义的其他内容)。
尽管我不确定它能处理您的特定用途,但这应该可以解决一般性问题。具有自定义元类(例如Django模型)或奇怪的装饰器(例如@ martineau’s
answer;)的基类可以做疯狂的事情。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)