python继承类中如何重写?

来源:千锋教育
发布时间:2023-11-12 10:05:54
分享

python继承类中如何重写?

本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。

1、重写的类别

(1)重写和父类的方法名称一样。但是在子类里面,重新实现。

(2)保留父类的做法,在它的基础上再扩展其它的内容。(扩展方式:super())

super()的2种表达:

super().方法(参数列表)

super(子类名,self).方法(参数列表)

2、重写实例

Animal的子类Cat继承了父类的属性和方法,但是我们猫类Cat有自己的叫声'喵喵',这时我们可以对父类的Call()方法进行重构。如下:

classCat(Animal):

def__init__(self,name,age,sex):

super(Cat,self).__init__(name,age)

self.sex=sex

defcall(self):

print(self.name,'会“喵喵”叫')

if__name__=='__main__':

c=Cat('喵喵',2,'男')

c.call()#输出:喵喵会“喵喵”叫

类方法的调用顺序,当我们在子类中重构父类的方法后,Cat子类的实例先会在自己的类Cat中查找该方法,当找不到该方法时才会去父类Animal中查找对应的方法。

为了方法的快速调用,我们会从父类那里继承方法,放在子类的使用上。但这样也会产生一种问题,子类全部显示的是父类的类别,而没有自身特性进行区分。这时候方法的重写就很有必要了。

以上就是python继承类中重写的方法,在遇到子类不能区分的问题时,大家就可以通过重写方法来辨别啦。学会后快试试重写的使用吧。更多Python学习教程请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python中使用__slots__定义类属性 python中使用__slots__定义类属性我们想要实现类的属性,但又希望这个类的属性能有限制,这时候class的方法就需要做一些调整。在class中有一个slots变量,能够完成对类属性的定义,不
  • python中ndarray创建的两种方法 python中ndarray创建的两种方法python中,想要对数组和矩阵进行任意维度的的快速处理操作,拿一定要发挥Numpy数组的功能了。在Numpy数组中,使用ndarray对象来处理多维数组。本
  • python中的unittest框架是什么? python中的unittest框架是什么?在python中我们学习了不少理论知识,那么对相关的程序进行测试,就显得很重要了。本篇要讲的是unittest框架,我们可以用它来做一些测试工作,又或者是相
  • pandas的连接函数concat()函数如何使用 pandas的连接函数concat()函数如何使用python中pandas库可以对相关的文件或文本数据进行的读取操作,对于想要合并和多组数据合并,有专门的concat函数提供使用,concat函数含
  • python中如何按行遍历Dataframe python中如何按行遍历Dataframe在python的DataFrame中,因为数据中可以有多个行和列。而且每行代表一个数据样本,我们可以将DataFrame看作数据表,那你知道如何按照数据表中
  • pandas遍历dataframe的方法有哪些 pandas遍历dataframe的方法有哪些在pandas中dataframe可以一维格式化的二维数据,是一个很清晰数据表,那你知道如何遍历这个数据表吗?本文介绍pandas遍历dataframe方