http://python.jobbole.com/86787/
这里面还没写全.比如
class Base(object): def __init__(self): print ("enter Base") print( "leave Base") class A(Base): def __init__(self): print( "enter A") super(A, self).__init__() print("leave A") class B(Base): def __init__(self): print ("enter B") super(B, self).__init__() print( "leave B") class C(A): def __init__(self): print ("enter C") super(A, self).__init__() print( "leave C") c = C()
泡完之后会发现结果:
enter C
enter Base
leave Base
leave C
说的意思就是supre这个函数的第一个变量可以不是他所在的类.
这里c的init函数里面的super直接super A了 所以他直接调用的是A的父,所以是Base.所以打印就只有C和base