Python正课73 —— 单继承背景下的属性查找

本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12669674.html

单继承背景下的属性查找

示范1:

class Foo:
    def f1(self):
        print('Foo.f1')

    def f2(self):
        print('Foo.f2')
        self.f1()  # obj.f1()


class Bar(Foo):
    def f1(self):
        print('Bar.f1')


obj = Bar()
obj.f2()

# 预料的结果
# Foo.f2
# Foo.f1

# 实际的结果
# Foo.f2
# Bar.f1

示范2:

class Foo:
    def f1(self):
        print('Foo.f1')

    def f2(self):
        print('Foo.f2')
        Foo.f1(self)  # 调用当前类中的f1


class Bar(Foo):
    def f1(self):
        print('Bar.f1')


obj = Bar()
obj.f2()

# 输出:
# Foo.f2
# Foo.f1

示范3:

class Foo:
    def __f1(self):  # _Foo__f1
        print('Foo.f1')

    def f2(self):
        print('Foo.f2')
        self.__f1()  # self._Foo__f1,# 调用当前类中的f1


class Bar(Foo):
    def __f1(self):  # _Bar__f1
        print('Bar.f1')


obj = Bar()
obj.f2()

# Foo.f2
# Foo.f1
原文地址:https://www.cnblogs.com/xuexianqi/p/12669674.html