Python面向对象编程(第4版)

Python面向对象编程(第4版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

一本全面介绍python面向对象编程的图书。

内容简介

本书共分为4部分。第1章至第6章深讲解了面向对象编程的核心原则和概念,以及它们在Python中的实现方式。第7章至第9章仔细探讨了Python的数据结构、内置类和方法等,以及如何从面向对象编程的角度行分析和应用。第10章至第12章探讨了设计模式及其在Python中的实现。第13章和第14章涵盖了测试和并发两个重要主题。

全书以一个机器学习分类算法的实现案例贯穿始终,并不断探讨各种实现方式的优劣。

作者简介

作者Steven Lott,从计算机还是昂贵且稀有的大型设备时就始编程。他在高科技领域工作了几十年,触到了许多思想和技术,包括一些不那么好的技术,但其中绝大多数技术是有用的,有助于发展其他技术。

章节目录

版权信息

内容简介

贡献者

译者序

前言

第1章 面向对象设计

1.1 面向对象简介

1.2 对象和类

1.3 定义属性和行为

1.3.1 用数据描述对象的状态

1.3.2 行为就是动作

1.4 隐藏细节并创建公共接口

1.5 组合

1.6 继承

1.6.1 继承提供抽象

1.6.2 多重继承

1.7 案例学习

1.7.1 简介和问题概述

1.7.2 上下文视图

1.7.3 逻辑视图

1.7.4 过程视图

1.7.5 开发视图

1.7.6 物理视图

1.7.7 结论

1.8 回顾

1.9 练习

1.10 总结

第2章 Python的对象

2.1 类型提示

2.2 创建Python的类

2.2.1 添加属性

2.2.2 让它做点什么

2.2.3 初始化对象

2.2.4 类型提示和默认值

2.2.5 使用文档字符串

2.3 模块和包

2.3.1 组织模块

2.3.2 组织模块内容

2.4 谁可以访问我的数据

2.5 第三方库

2.6 案例学习

2.6.1 逻辑视图

2.6.2 样本和状态

2.6.3 样本状态转换

2.6.4 类的职责

2.6.5 TrainingData类

2.7 回顾

2.8 练习

2.9 总结

第3章 当对象相似时

3.1 基本继承

3.1.1 扩展内置对象

3.1.2 重写和super

3.2 多重继承

3.2.1 钻石型继承问题

3.2.2 不同集合的参数

3.3 多态

3.4 案例学习

3.4.1 逻辑视图

3.4.2 另一种距离算法

3.5 回顾

3.6 练习

3.7 总结

第4章 异常捕获

4.1 抛出异常

4.1.1 抛出一个异常

4.1.2 异常的作用

4.1.3 处理异常

4.1.4 异常的层级

4.1.5 定义我们自己的异常

4.1.6 异常并不是例外

4.2 案例学习

4.2.1 上下文视图

4.2.2 过程视图

4.2.3 什么可能出错

4.2.4 错误的行为

4.2.5 通过CSV文件创建样本

4.2.6 验证枚举值

4.2.7 读取CSV文件

4.2.8 不要重复你自己

4.3 回顾

4.4 练习

4.5 总结

第5章 何时使用面向对象编程

5.1 将对象看作对象

5.2 通过属性向类数据添加行为

5.2.1 属性的细节

5.2.2 装饰器

5.2.3 决定何时使用属性

5.3 管理器对象

5.3.1 删除重复的代码

5.3.2 实践

5.4 案例学习

5.4.1 输入验证

5.4.2 输入分块

5.4.3 样本的类层级

5.4.4 purpose枚举类

5.4.5 Property setters

5.4.6 重复的if语句

5.5 回顾

5.6 练习

5.7 总结

第6章 抽象基类和运算符重载

6.1 创建抽象基类

6.1.1 collections模块中的抽象基类

6.1.2 抽象基类和类型提示

6.1.3 collections.abc模块

6.1.4 创建自己的抽象基类

6.1.5 揭开魔法的神秘面纱

6.2 运算符重载

6.3 扩展内置类

6.4 元类

6.5 案例学习

6.5.1 用两个子列表扩展list类

6.5.2 分割的洗牌策略

6.5.3 分割的增量策略

6.6 回顾

6.7 练习

6.8 总结

第7章 Python的数据结构

7.1 空对象

7.2 元组和命名元组

7.3 数据类

7.4 字典

7.4.1 字典的用例

7.4.2 使用defaultdict

7.5 列表

7.6 集合

7.7 3种队列

7.8 案例学习

7.8.1 逻辑模型

7.8.2 冻结的数据类

7.8.3 NamedTuple类

7.8.4 结论

7.9 回顾

7.10 练习

7.11 总结

第8章 面向对象编程和函数式编程

8.1 Python的内置函数

8.1.1 len()函数

8.1.2 reversed()函数

8.1.3 enumerate()函数

8.2 方法重载的另一种方式

8.2.1 参数的默认值

8.2.2 可变参数列表

8.2.3 参数解包

8.3 函数也是对象

8.3.1 函数对象和回调函数

8.3.2 用函数给类打补丁

8.3.3 可调用对象

8.4 文件I/O

8.5 案例学习

8.5.1 处理概述

8.5.2 分割数据

8.5.3 重新思考分类

8.5.4 partition()函数

8.5.5 一次性分割

8.6 回顾

8.7 练习

8.8 总结

第9章 字符串、序列化和文件路径

9.1 字符串

9.1.1 字符串操作

9.1.2 字符串格式化

9.1.3 字符串是Unicode

9.2 正则表达式

9.2.1 模式匹配

9.2.2 用正则表达式解析信息

9.3 文件系统路径

9.4 序列化对象

9.4.1 定制pickle

9.4.2 用JSON序列化对象

9.5 案例学习

9.5.1 CSV格式设计

9.5.2 CSV字典阅读器

9.5.3 CSV列表阅读器

9.5.4 JSON序列化

9.5.5 用换行符分隔的JSON

9.5.6 JSON验证

9.6 回顾

9.7 练习

9.8 总结

第10章 迭代器模式

10.1 设计模式简介

10.2 迭代器

10.3 推导式

10.3.1 列表推导式

10.3.2 集合和字典推导式

10.3.3 生成器表达式

10.4 生成器函数

10.4.1 通过另一个可迭代对象产生元素

10.4.2 生成器堆栈

10.5 案例学习

10.5.1 相关集合知识

10.5.2 多分区

10.5.3 测试

10.5.4 基本的KNN算法

10.5.5 使用bisect模块的KNN

10.5.6 使用headq模块的KNN

10.5.7 结论

10.6 回顾

10.7 练习

10.8 总结

第11章 通用设计模式

11.1 装饰器模式

11.1.1 装饰器模式示例

11.1.2 Python中的装饰器

11.2 观察者模式

11.3 策略模式

11.3.1 策略模式示例

11.3.2 Python中的策略模式

11.4 命令模式

11.5 状态模式

11.5.1 状态模式示例

11.5.2 状态模式与策略模式

11.6 单例模式

11.7 案例学习

11.8 回顾

11.9 练习

11.10 总结

第12章 高级设计模式

12.1 适配器模式

12.2 外观模式

12.3 享元模式

12.3.1 Python中的享元模式示例

12.3.2 包含多条消息的缓冲区

12.3.3 使用Python的__slots__优化内存

12.4 抽象工厂模式

12.4.1 抽象工厂模式示例

12.4.2 Python中的抽象工厂模式

12.5 组合模式

12.6 模板模式

12.7 案例学习

12.8 回顾

12.9 练习

12.10 总结

第13章 测试面向对象的程序

13.1 为什么要测试

13.1.1 测试驱动开发

13.1.2 测试目标

13.1.3 测试模式

13.2 使用unittest进行单元测试

13.3 使用pytest进行单元测试

13.3.1 pytest的设置和清理函数

13.3.2 pytest用于设置和清理的fixture

13.3.3 更高阶的fixture

13.3.4 用pytest跳过测试

13.4 使用Mock模拟对象

13.4.1 其他打补丁技术

13.4.2 sentinal对象

13.5 进行多少测试才是足够的

13.6 开发和测试

13.7 案例学习

13.7.1 距离算法类的单元测试

13.7.2 Hyperparameter类的单元测试

13.8 回顾

13.9 练习

13.10 总结

第14章 并发

14.1 线程

14.2 多进程

14.2.1 多进程池

14.2.2 队列

14.2.3 多进程的问题

14.3 future

14.4 AsyncIO

14.4.1 AsyncIO实战

14.4.2 读取AsyncIO future

14.4.3 网络AsyncIO

14.4.4 日志编写演示

14.4.5 AsyncIO客户端

14.5 哲学家用餐问题

14.6 案例学习

14.7 回顾

14.8 练习

14.9 总结

Python面向对象编程(第4版)是2024年由电子工业出版社出版,作者[美] Steven Lott。

得书感谢您对《Python面向对象编程(第4版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python快速编程入门(第2版) 电子书
本书以PyCharm为主要开发工具,采用理论与实训案例相结合的形式,系统性地讲解Python的核心知识。全书共11章,其中,第1~10章介绍Python语言的核心理论知识,包括基础知识、流程控制、字符串、组合数据类型、函数、文件与数据格式化、面向对象、异常和Python计算生态与常用库;第11章围绕着前期学习的理论知识开发一个游戏项目——飞机大战。除第1章和第11章外,其他章均配有丰富的实训案例和
Python编程基础 电子书
全面介绍Python编程基础与实用技术。
Python编程基础 电子书
介绍了Python编程基础及其相关知识的应用,解决部分实际问题。
Java面向对象思想与程序设计 电子书
本书面向以Java为第一种程序语言的初学者,强化面向对象的原理和机制,强调“做中学”,每章开头用思维导图的方式,引导读者带着问题去学习该章的内容,以便牢固地掌握知识。另外,作者录制了知识点和案例的讲解视频,读者可以方便地通过扫码的方式查看,同时,计蒜客在线教育团队,为读者提供了伴随式的在线编程平台支持,读者可以将图书和线上编程结合起来学习。
C++面向对象程序设计教程 电子书
本书介绍了C++面向对象程序设计的基本概念和编程方法,内容包括类与对象、静态成员与友元、运算符重载、继承与派生、输入输出流、异常处理等,详细阐述了C++面向对象程序设计的四个特性,即抽象性、封装性、继承性和多态性。本书给出了大量的例题,通过简单的例题,分析面向对象程序设计基本概念的内在含义,使抽象的概念具体化、形象化;同时将难点问题分散到多个例题中,结合具体实例,由浅入深进行讲述,便于初学者在短时