A被执行多次
class A:
def __init__(self):
print 'A'
class B(A):
def __init__(self):
print 'B'
A.__init__(self)
class C(A):
def __init__(self):
print 'C'
A.__init__(self)
class D(B, C):
def __init__(self):
print 'D'
B.__init__(self)
C.__init__(self)
if __name__ == '__main__':
D()
A被执行一次
class A(object):
def __init__(self):
print 'A'
class B(A):
def __init__(self):
print'B'
super(B, self).__init__()
class C(A):
def __init__(self):
print 'C'
super(C, self).__init__()
class D(B, C):
def __init__(self):
print 'D'
super(D, self).__init__()
if __name__ == '__main__':
D()