无法创建一致的方法解析顺序(MRO 错误)

A consistent Method Resolution Order couldn't be created (MRO error)

class Base(object):
    def __init__(self):
        print ("Base")

class childA(Base):
    def __init__(self):
        print ('Child A')
        Base.__init__(self)

class childB(Base,childA):
    def __init__(self):
        print ('Child B')
        super(childB, self).__init__()


b=childB()

继承将成为 childB、Base、childA、Base,在应用 MRO 之后,它应该成为 childB、childA、Base。但它抛出 MRO 错误。为什么?

childB 试图从 Base 继承两次 ,一次通过 childA,一次直接继承。通过删除 childB.

上的多重继承来修复
class Base(object):
    def __init__(self):
        print ("Base")

class childA(Base):
    def __init__(self):
        print ('Child A')
        Base.__init__(self)

class childB(childA):
    def __init__(self):
        print ('Child B')
        super(childB, self).__init__()

b=childB()