一文轻松了解Python中类的继承
1. 单继承
继承的主要作用是实现代码的重用。继承使得子类拥有父类的方法和属性。
直接来看一个例子吧。
class animal: def eat(self): print("吃") def drink(self): print("喝") class dog(animal): def dark(self): print("汪汪叫") goudan = dog() goudan.eat() goudan.drink()
从上面的代码可以看出,在编写dog类的时候,我们并没有重写eat和drink两个方法。我们只需要在dog后面的括号中加上父类的名字即可。当子类继承了父类,子类就可以直接使用父类中的方法了。在本例中,goudan可以直接使用animal类中的eat和drink两个方法。
而且一个神奇的事情是,继承是具有传递性的。子类拥有父类的方法和属性,同时也具有父类的父类所具有的属性。
2. 继承中的方法重写
有时候,父类中的方法并不能完成满足子类的需求。这时候我们就需要方法重写了。子类方法重写一般有两种情况:
- 覆盖父类的方法
- 对父类的方法进行扩展
一种简单的方法是直接重写相应的方法。下面这个例子就是重写了drink这个方法。当使用goudan调用drink这个方法方法时,结果并不是喝而是拿舌头喝水。
class animal: def eat(self): print("吃") def drink(self): print("喝") class dog(animal): def drink(self): print("拿舌头喝水") def dark(self): print("汪汪叫") goudan = dog() goudan.eat() goudan.drink()
当我们的需求不是简单的覆盖父类中的方法,而是在父类方法的基础上对方法进行扩展。具体的做法是:
- 在需要的位置使用super().父类方法 来调用父类方法的执行
- 代码的其他位置针对子类的需求,编写子类持有的代码实现
我们来看一个例子,此时goudan在调用drink方法的时候,会输出喝和拿舌头喝水两个输出。
class animal: def eat(self): print("吃") def drink(self): print("喝") class dog(animal): def drink(self): # 1. 根据子类的需求编写特定的代码 print("拿舌头喝水") # 2. 使用super继承父类中的fangfa super().drink def dark(self): print("汪汪叫") goudan = dog() goudan.eat() goudan.drink()
3. 多继承
对于Python而言,一个子类可以有多个父类。多继承的基本语法是比较简单的。话不多说,直接看一个例子
class A(): def test(self): print("test") class B(): def demo(self): print("demo") class C(A,B): pass c = C() c.test() c.demo()
总结
到此这篇关于Python中类的继承的文章就介绍到这了,更多相关Python类的继承内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
探索Python Furl高性能URL构建解析和操作功能实例
本文将提供关于Python Furl的全面指南,包括安装和配置、基本概念、URL解析、URL构建、查询参数操作、片段处理、实际应用场景以及丰富的示例代码2024-01-01Python 序列化和反序列化库 MarshMallow 的用法实例代码
marshmallow(Object serialization and deserialization, lightweight and fluffy.)用于对对象进行序列化和反序列化,并同步进行数据验证。这篇文章主要介绍了Python 序列化和反序列化库 MarshMallow 的用法实例代码,需要的朋友可以参考下2020-02-02Android+OpenCv4实现边缘检测及轮廓绘制出图像最大边缘
最近工作需求,需要用opencv来先做一个demo,扫描照片进行边缘检测和最大边缘,就整理出来介绍一下,感兴趣的小伙伴们可以参考一下2021-05-05python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
这篇文章主要介绍了python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-12-12Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
这篇文章主要介绍了Python的ORM框架SQLAlchemy基本操作和常用技巧,包含大量实例,非常好的一个学习SQLAlchemy的教程,需要的朋友可以参考下2014-05-05
最新评论