标签:执行 指定 init 位置 elf super pytho pre __init__
class A: def bar(self): print(‘bar‘) self.f1() class B(A): def f1(self): print(‘B‘) class C: def f1(self): print(‘C‘) class D(C,B): pass d1 = B() d1.bar() class C: def __init__(self): print(‘C的构造方法‘) self.ty = ‘动物‘ class A(C): def __init__(self): print(‘A的构造方法‘) self.ty = ‘动物‘ class B(A): def __init__(self): print(‘B的构造方法‘) self.y = ‘猫‘ super(B,self).__init__() super(B,self).__init__() C.__init__(self) B() ‘‘‘ super(B,self).__init__() 就是执行B类的 父类init 方法。 C.__init__(self) 执行指定 类的方法 C类的 init 方法。 查找源码的过程 按照从左往右的 方向去寻找, 如果如果 寻找的过程中 碰到 self.xxx 那么又从本事的位置 按照从左往又的方向开始找。 这是规则‘‘‘
标签:执行 指定 init 位置 elf super pytho pre __init__
原文地址:http://www.cnblogs.com/cloniu/p/6240163.html