class A(object): # A must be new-style class def __init__(self): print "enter A" print "leave A"class B(C): # A --> C def __init__(self): print "enter B" super(B, self).__init__() print "leave B"
对于super(B, self).__init__()是这样理解的:super(B, self)首先找到B的父类(就是类A),而后把类B的对象self转换为类A的对象(经过某种方式,一直没有考究是什么方式,惭愧),而后“被转换”的类A对象调用本身的__init__函数函数