class Base(object): def __init__(self):
print 'Base create'
class childB(Base):
def __init__(self):
print 'creat B ',
super(childB, self).__init__()
class childA(childB,Base):
def __init__(self):
print 'creat A ',
Base.__init__(self)
if __name__=="__main__":
childA()
结果:creat A Base create
class Base(object):
def __init__(self):
print 'Base create'
class childA(Base):
def __init__(self):
print 'creat A ',
Base.__init__(self)
class childB(childA,Base):
def __init__(self):
print 'creat B ',
super(childB, self).__init__()
if __name__=="__main__":
childB()
结果:creat B creat A Base create
class Base():
def __init__(self):
print 'Base create'
class childA(Base):
def __init__(self):
print 'creat A ',
Base.__init__(self)
if __name__=="__main__":
childA()
结果:creat A Base create
class Base():
def __init__(self):
print 'Base create'
class childA(Base):
def __init__(self):
print 'creat B ',
super(childA, self).__init__()
if __name__=="__main__":
childA()
结果:
creat B
Traceback (most recent call last):
File "D:\eclipse\test\test1.py", line 17, in <module>
childA()
File "D:\eclipse\test\test1.py", line 14, in __init__
super(childA, self).__init__()
TypeError: super() argument 1 must be type, not classobj