【Python零基础入门篇 · 23】:类的继承(单继承和多继承)、继承重写

简介: 【Python零基础入门篇 · 23】:类的继承(单继承和多继承)、继承重写

类的继承(单继承和多继承)


继承是一种类间关系,描述一个类从另一个类中获取成员信息的类间关系。

继承必定发生在两个类之间,参与继承关系的双方成员是父类子类


语法:class 类名(父类名)


子类可以继承父类的所有属性和方法,就算自己没有,也可以使用父类的。

2c14eedefadf47c19ae8753ecb9699e5.png


继承的传递性

36bddf6845154142a1c942052dcd162a.png


继承的分类


单继承:子类只继承一个父类


多继承:有两个父类的属性和方法,如果两个父类具有同名的方法的时候,调用就近原则


多继承


定义格式:

class 类名 (父类名1,父类名2,...):  
                            pass



e8aacfe60b084eeb923c369d7b0ea3bd.png



查看方法搜索顺序


python中内置属性__mro__,可以查看方法搜索顺序,确定子类调用的方法顺序。

535baab4ad4647019f3c67a40632d622.png


总结


  • 多继承有同名方法时,在搜索方法时,会先按照mro的输出结果,从左往右的顺序查找


  • 如果当前类的方法中找到了,就直接执行,不再搜索


  • 如果找到最后一个类,还没有找到方法,程序报错






继承重写


如果从父类继承的方法不能满足子类的需求,可以在子类中重写父类的方法,这个过程称为方法的覆盖),也称为方法的重写。


覆盖父类的方法


在子类中定义一个跟父类同名的方法,会调用子类重写的方法。


721cfc3de21041d393b30716c289fd39.png


在父类的方法后增加新的内容


第一种:父类.方法名(self)


97c666509afe469f91a748db8238ce8a.png


第二种:super().方法名() (常用)


python中super是一种特殊的类,super()是使用super类创建出来的对象,可以去调用父类中的方法。

3c7bd2107ac647c5bea41d9ec516b47b.png



类的新式写法


class 类名:


class 类名():


class 类名(object): ——>(新式写法)

以上三种写法并无区别,推荐使用新式写法,其中object是python中为所有对象提供的基类,里面提供了一些内置的属性和方法。

相关文章
|
8天前
|
缓存 供应链 芯片
电子元件类商品 item_get - 商品详情接口深度分析及 Python 实现
电子元件商品接口需精准返回型号参数、规格属性、认证及库存等专业数据,支持供应链管理与采购决策。本文详解其接口特性、数据结构与Python实现方案。
|
6月前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
128 11
|
9月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
367 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
7月前
|
存储 C语言 Python
[oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
116 1
|
10月前
|
算法 Python
Python多继承时子类如何调用指定父类
通过本文的介绍,希望您能够深入理解Python多继承时子类如何调用指定父类的方法,并在实际项目中灵活运用这些技巧,编写出高效且易维护的代码。
161 11
|
10月前
|
算法 Python
Python多继承时子类如何调用指定父类
通过本文的介绍,希望您能够深入理解Python多继承时子类如何调用指定父类的方法,并在实际项目中灵活运用这些技巧,编写出高效且易维护的代码。
134 1
|
10月前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
12月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
161 2
|
12月前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
104 1
|
12月前
|
设计模式 开发者 Python
Python类里引用其他类
Python类里引用其他类
137 4

推荐镜像

更多