Python 入门笔记21——面向对象进阶

Python 入门笔记21——面向对象进阶

super()获得父类定义

在子类中,如果想要获得父类的方法时,我们可以通过 super()来做。
super()代表父类的定义,不是父类对象。

代码实例:

#测试super(),代表父类的定义,而不是父类的对象

class A:

    def say(self):
        print("A:",self)


class B(A):

    def say(self):
        #A.say(self)
        super().say()
        print("B:",self)

A().say()
B().say()

输出结果:

A: <__main__.A object at 0x000002C49F3B1850>
A: <__main__.B object at 0x000002C49F3B1850>
B: <__main__.B object at 0x000002C49F3B1850>

结果分析:调用类A的say方法会打印A:A的实例。B的say方法通过super()获得父类A的say方法的定义,在调用类B的say方法会打印A:B的实例,B:B的实例。


版权声明:本文为weixin_45031468原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。