《Python学习手册 第五版》 -第27章 类代码编写基础

本章内容主要侧重用代码说明类是如何工作的,从基础理解了类后面复杂的就会融会贯通,本章就从三个示例说明类的基础

本章重点内容:

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章,已完成

 

以下链接,可以供你了解这个学习笔记的所有章节最新进度

自学笔记系列:《Python学习手册 第五版》 -写在开始之前

posted @ 2020-04-29 07:37  诡刺-ThornSoul  阅读(352)  评论(0编辑  收藏  举报