类的寻找方法

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  那么又从本事的位置 按照从左往又的方向开始找。 这是规则'''

  

原文地址:https://www.cnblogs.com/cloniu/p/6240163.html