本章内容主要侧重用代码说明类是如何工作的,从基础理解了类后面复杂的就会融会贯通,本章就从三个示例说明类的基础
本章重点内容:
1、如何创建类使用类:第一个示例
2、类通过继承进行定制:第二个示例
3、类可以截获Python运算符:第三个示例
以下针对重点内容进行详细说明
1、如何创建类、使用类:第一个示例
创建一个类需要通过class语句:
1)class语句创建类对象并将其赋值给一个名称
2)class语句内的赋值语句会创建类的属性
3)类属性提供类对象的状态和行为
仅仅通过文字理解比较抽象,文件结合代码会更容易,代码示例如下:
以上就是创建了一个叫FirstClass的类,接下来通过实例来使用类,对类的使用也就是创建实例对象,代码如下:
通过实例我们就可以使用类中定义的属性和行为,具体代码示例如下:
2、类通过继承进行定制:第二个示例
通过实例来使用类,也可以通过继承创建新的类,具体代码如下:
类继承的方式,就是通过()来说明继承的类,此处创建来SecondClass类,继承自FirstClass类,同时在继承的时候,重新定义了display的行为,也就是说SecondClass定制了自己的行为
类通过继承可以定制化,这样就可以方便共享的属性使用,也方便自己个性的凸显,重点是还不会影响其他类
创建实例如下:
实例z不会影响其他实例,x实例还是原来的方式:
3、类可以截获Python运算符:第三个示例
到此处,我们创建的两个类,还有很多局限,都不支持运算符的操作,
比如在创建实例时不同同时赋值属性
实例无法进行加法运算
直接打印实例对象仅现实存储地址:
通过运算符重载,可以解决上面的问题,代码如下:
通过创建实例对象,调用相关属性,如下:
上面说到的三个问题,你会发现,实例a都没有报错,都可以运行,所以这样实例a就实现了运算符的重载
在此你可能有一个疑问,为什么是【__init__、__add__、__str__】这样的
1)重载运算符需要特殊的命名方式,这是系统的规定,称之为特殊钩子
2)不同的命名对应不同的运算符,是系统规定好的,比如【+】对应的就是【__add__】,因为是都有对应的,所以才能截获不同的运算符
以上就是本章的重点内容,通过三个例子说明类的基本运用,下章见!
《Python学习手册 第五版》 每章时间规划及完成进度:
2019.11.25-2019.12.01 第01章,已完成:《Python学习手册 第五版》 -第1章 问答环节
2019.12.02-2019.12.08 第02章,已完成:《Python学习手册 第五版》 -第2章 Python如何运行程序
2019.12.09-2019.12.15 第03章,已完成:《Python学习手册 第五版》 -第3章 你应如何运行Python程序
2019.12.16-2019.12.22 第04章,已完成:《Python学习手册 第五版》 -第4章 介绍Python对象类型
2019.12.23-2019.12.29 第05章,已完成:《Python学习手册 第五版》 -第5章 数值类型
2019.12.30-2020.01.05 第06章,已完成:《Python学习手册 第五版》 -第6章 动态类型
2020.01.06-2020.01.12 第07章,已完成:《Python学习手册 第五版》 -第7章 字符串基础
2020.01.12-2020.01.19 第08章,已完成:《Python学习手册 第五版》 -第8章 列表与字典
2020.01.20-2020.01.26 第09章,已完成:《Python学习手册 第五版》 -第9章 元组、文件与其他核心类型
2020.01.27-2020.02.02 第10章,已完成:《Python学习手册 第五版》 -第10章 Python语句简介
2020.02.03-2020.02.09 第11章,已完成:《Python学习手册 第五版》 -第11章 赋值、表达式和打印
2020.02.10-2020.02.16 第12章,已完成:《Python学习手册 第五版》 -第12章 if测试和语法规则
2020.02.17-2020.02.23 第13章,已完成:《Python学习手册 第五版》 -第13章 while循环和for循环
2020.02.24-2020.03.01 第14章,已完成:《Python学习手册 第五版》 -第14章 迭代和推导
2020.03.02-2020.03.08 第15章,已完成:《Python学习手册 第五版》 -第15章 文档
2020.03.09-2020.03.15 第16章,已完成:《Python学习手册 第五版》 -第16章 函数基础
2020.03.16-2020.03.22 第17章,已完成:《Python学习手册 第五版》 -第17章 作用域
2020.03.23-2020.03.29 第18章,已完成:《Python学习手册 第五版》 -第18章 参数
2020.03.30-2020.04.05 第19章,已完成:《Python学习手册 第五版》 -第19章 函数的高级话题
2020.04.06-2020.04.12 第20章,已完成:《Python学习手册 第五版》 -第20章 推导和生成
2020.04.13-2020.04.19 第21章,已完成:《Python学习手册 第五版》 -第21章 基准测试
2020.04.20-2020.04.26 第22章,已完成 :《Python学习手册 第五版》 -第22章 模块:宏伟蓝图
2020.04.27-2020.05.03 第23章,已完成:《Python学习手册 第五版》 -第23章 模块代码编写基础
2020.05.04-2020.05.10 第24章,已完成:《Python学习手册 第五版》 -第24章 模块包
2020.05.11-2020.05.17 第25章,已完成:《Python学习手册 第五版》 -第25章 高级模块话题
2020.05.18-2020.05.24 第26章,已完成:《Python学习手册 第五版》 -第26章 OOP:宏伟蓝图
2020.05.25-2020.05.31 第27章,已完成
以下链接,可以供你了解这个学习笔记的所有章节最新进度