以下は、Python の多重継承スニペットです。この例では、childMyClass に super を使用しているときに、コード フローで MyCass2 をヒットしました。コード フローに MyClass2 が含まれている理由を説明してください。私の知る限り、python はクラスを左から右に評価するため、ChildMyClass は MyClass1 を呼び出す必要があり、MyClass1 は MyClass を呼び出してそこから戻ります。MyClass2 はどこに登場しますか。
class MyClass(object):
def __init__(self, data1, data2):
self.data1=data1
self.data2=data2
print "MyClass"
def f(self):
print "Hello"
class MyClass1(MyClass):
def __init__(self, data):
super(MyClass1, self).__init__(data, 1)
print "MyClass1"
def f1(self):
print "Hello1"
class MyClass2(MyClass):
def __init__(self, data1, data2):
super(MyClass2, self).__init__(data1, data2)
print "MyClass2"
def f1(self):
print "Hello2"
class ChildMyClass(MyClass1, MyClass2):
def __init__(self, data1, data2):
super(ChildMyClass, self).__init__(data1)
print "Child"
y=ChildMyClass(8,9)
y.f()