幅優先と深さ優先(関数を使用して、ルックアップの優先順位)
図1に示すように、古典的なクラス、多重継承の場合、深さ優先探索の意志に従って
クラスに新しいクラス、多重継承の場合は、幅優先探索に従います2、
クラシッククラスA、新しいクラス:クラスA(oobject)。しかし、のpython3クラスA、すなわちのpython3クラシック、デフォルトの継承オブジェクトを、キャンセルも新しいクラスです。
class D:
def test():
print("D")
class C(D):
def test():
print("C")
class B(D):
def test():
print("B")
class A(B,C):
def test():
print("A")
a=A()
a.test()
深度優先:Aクラス以下に示すように呼び出されたテスト機能は、テスト関数Aクラスの有無を見つけるために、その後、クラスBを見て、次にDを見つけ、最終的にクラスを見つけるC.
幅優先:以下に示すように呼び出されたテスト機能は、テスト関数Aクラスの有無を検索し、次にDをクラスBを見て、その後、クラスCを見つけ、最終的にクラスを見つけるAクラス