python中super()的使用方法

来源:https://www.bilibili.com/video/BV1Zt411N7wM?from=search&seid=1124646343492113244&spm_id_from=333.337.0.0

super函数:
由于类的继承导致可能覆盖同名的构造方法,导致只能使用子类的构造,而无法调用父类的构造方法。但其实可以采用super方法解决这个问题。

super这个方法用来解决子类中调用父类同名构造方法。
在Python3中,直接写super()来调用父类中的构造方法:

通过实际测试,我们知道,super方法可以用在类中的任意函数中,去调用父类中的方法。
super方法也可以调用超类中的方法。

超类:student类是person的子类,RunStudent是student的子类,那么我们称person类是RunStudent类的超类

class Person:
    def __init__(self):
        print("出生时会啼哭面向世界!")
    def say(self):
        print("我是Person")
    def walk(self):
        print("初始化走步")

class Student(Person):
    def __init__(self,name):
        super().__init__()
        print(super())
        self.name = name
    def getName(self):
        return self.name
    def say(self):
        super().say()
        print("我是中国学生")

class RunStudent(Student):
    def walk(self):
        super().walk()
        print("开始跑步")

stu=Student('我是老刘')
print(stu.getName())
stu.say()

#调用父类的父类中的方法
runStu = RunStudent('刘金玉编程')
runStu.walk()
  1. 掌握super方法在两种不同的Python版本中的不同的写法。
  2. 掌握super方法可以调用类和超类中的所有的同名方法。
  3. 掌握super方法调用类中同名函数时的方法调用顺序,默认是优先调用父类中的同名方法。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值