python super 使用
原博客地址:http://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035005.html
class A(object):
def __init__(self):
print "enter A"
super(A, self).__init__() # new
print "leave A"
class B(object):
def __init__(self):
print "enter B"
super(B, self).__init__() # new
print "leave B"
class C(A):
def __init__(self):
print "enter C"
super(C, self).__init__()
print "leave C"
class D(A):
def __init__(self):
print "enter D"
super(D, self).__init__()
print "leave D"
class E(B, C):
def __init__(self):
print "enter E"
super(E, self).__init__() # change
print "leave E"
class F(E, D):
def __init__(self):
print "enter F"
super(F, self).__init__() # change
print "leave F"
f = F()
输出:
enter F
enter E
enter B
enter C
enter D
enter A
leave A
leave D
leave C
leave B
leave E
leave F
查看类F的继承顺序
>>> F.__mro__
(<class '__main__.F'>,
<class '__main__.E'>,
<class '__main__.B'>,
<class '__main__.C'>,
<class '__main__.D'>,
<class '__main__.A'>,
<type 'object'>)
页:
[1]