Python中的多重继承

class P1:
    pass


class P2:
    pass


class P3:
    pass


class A(P1, P2):
    pass


class B(P1, P3):
    pass


class C(P3, P2):
    pass


class D(A, B, C):
    pass


d = D()
print(D.__mro__)
# 查看 D类的多重继承的搜索顺序: D.__mro__
#python3中都是新式类,遵循的搜索原则是 广度优先

结果

(<class '__main__.D'>, <class '__main__.A'>, <class '__main__.B'>, <class '__main__.P1'>, <class '__main__.C'>, <class '__main__.P3'>, <class '__main__.P2'>, <class 'object'>)

posted @ 2021-02-21 23:08  kevin.l  阅读(81)  评论(0编辑  收藏  举报