1.クラシック
python2のバージョンでは•すべてのクラスはクラシックです
2.新しいクラス
すべてのクラスのバージョンのpython3で新しいクラス(継承されたすべての(オブジェクト)のクラスは、新しいクラスで)です
深度優先(古典的なカテゴリの両方に深さ優先)
クラスP1: デフのfoo(自己): 印刷 'P1-foo' で クラスP2: デフのfoo(自己): 印刷 'P2-foo' で デフバー(自己): 印刷「P2-バー」 クラスC1(P1、P2)。 パス クラスC2(P1、P2)。 デフバー(自己): 印刷「C2-バー」 クラスD(C1、C2)。 パス D = D() d.foo()#出力P1-fooの d.bar()
d.foo()承継の順序(D - > C1-> P1)
d.bar()承継の順序(D-> C1 - > P1-> P2)
幅優先(新しいクラスの最初の幅がでます)
クラスP1(オブジェクト): デフFOO(自己): 印刷 ' P1-FOO ' クラスP2(オブジェクト): デフFOO(自己): 印刷 ' P2-FOO ' デフバー(自己): プリント 「P2-バー」 クラスC1(P1、P2): 合格 クラスC2(P1、P2): DEF バー(自己): 印刷 ' C2-バー' クラスD(C1、C2)。 D = D() d.foo() #の出力FOO-P1の d.bar() #の出力バー-C2
連続のd.foo()順序:C1 - "C2 - " PL
連続のd.bar()順序:C1 - 「C2