super函数

如果在子类中要访问父类中的方法,需要使用super函数。该函数返回的对象代表父类对象。super函数可以不带任何参数,也可以带两个参数,第1个参数表示当前类的类型,第2个参数需要传入self。

class A:
    def __init__(self, name_a):
        super().__init__()
        print(name_a)
    
    def info(self):
        print("info A")

class B(A):
    def __init__(self, name_a, name_b):
        super().__init__(name_a)
        print(name_b)
    
    def info(self):
        print("info B")

class C(B):
    def __init__(self, name_a, name_b, name_c):
        super().__init__(name_a, name_b)
        print(name_c)

        # 等价于super().info()
        super(C, self).info()  #  访问的是B类中的info方法
        super(B, self).info()  # 访问的是A类中的info方法
    
c = C("A", "B")

输出结果:

A
B
C
info B
info B
info A
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容