class 属性查找

class Foo:
    def f1(self):
        print('Foo.f1')
    def f2(self):
        print('Foo.f2')     #b 没有定义f2,所以调用父类的f2
        self.f1()        #此处的self 是b,  b.f1(),Bar()里面有定义f1(),所以直接用Bar()的f1
class Bar(Foo):         #自己有用自己的
    def f1(self):
        print('Bar.f1')

b=Bar()
b.f2()

Foo.f2
Bar.f1

 
class Foo1:
    def f1(self):
        print('Foo1.f1')
    def f2(self):        #1
        print('Foo2.f2')
        self.f3()
class Foo2:
    def f3(self):     #2
        print('foo2.f3')
        self.f1()
    def f4(self):
        print('foo2.f4')

class Bar(Foo1,Foo2):
    def f1(self):      #3
        print('Bar.f1')

b=Bar()
b.f2()

Foo2.f2
foo2.f3
Bar.f1

 

猜你喜欢

转载自www.cnblogs.com/wuxi9864/p/9932868.html