健壮的Python

健壮的Python

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

    关注微信公众号

因版权原因待上架

编辑推荐

本书教你如何熟练掌握Python编程技能。

内容简介

你的Python项目是否正在变得越来越庞大?随着代码的扩展,调试和维护工作变得更加艰难,你是否感到痛苦?Python是一种容易学习和使用的语言,但这也意味着系统可以迅速发展到无法理解的程度。值得庆幸的是,Python具有帮助开发者克服可维护性困境的功能。

在这本实用的书中,作者Patrick Viafore将告诉你如何限度地使用Python的类型系统。你将看到用户定义的类型(如类和枚举),以及Python的类型提示系统。你还将学习如何使Python代码具有可扩展性,以及如何基于一个全面的测试策略构建安全网。利用这些知识和技术,你将编写更清晰、更易于维护的代码。

作者简介

作者帕特里克·维亚福尔(Patrick Viafore),在关键任务软件领域有超过14年的工作经验,专业方向涉及雷电检测、电信和操作系统。他通过开发管道和工具,将Ubuntu镜像部署到公有云供应商,并通过Kudzera有限责任公司进行软件咨询和项目承包(他是这家公司的负责人)。他的目标是使计算机科学以及软件工程主题对开发者社区来说更加容易理解。

章节目录

版权信息

O'Reilly Media,Inc.介绍

本书赞誉

推荐序

译者序

前言

第1章 健壮的Python简介

1.1 健壮性

1.2 你的意图是什么

1.3 Python中的意图示例

1.3.1 集合

1.3.2 迭代

1.3.3 最小惊讶原则

1.4 小结

第一部分 为代码添加类型注解

第2章 Python类型简介

2.1 类型中有什么

2.1.1 机器表达

2.1.2 语义表达

2.2 类型系统

2.2.1 强类型与弱类型

2.2.2 动态类型与静态类型

2.2.3 鸭子类型

2.3 小结

第3章 类型注解

3.1 什么是类型注解

3.2 类型注解的好处

3.2.1 自动补全

3.2.2 类型检查器

3.2.3 练习:找出bug

3.3 什么时候使用类型注解

3.4 小结

第4章 约束类型

4.1 Optional类型

4.2 Union类型

4.3 Literal类型

4.4 Annotated类型

4.5 NewType

4.6 Final类型

4.7 小结

第5章 集合类型

5.1 向集合添加类型注解

5.2 同构集合与异构集合

5.3 向字典添加类型

5.4 创建新的集合类型

5.4.1 泛型

5.4.2 修改现有的类型

5.4.3 像ABC一样简单

5.5 小结

第6章 自定义你的类型检查器

6.1 配置类型检查器

6.1.1 配置mypy

6.1.2 mypy报告

6.1.3 加速mypy

6.2 其他类型检查器

6.2.1 Pyre

6.2.2 Pyright

6.3 小结

第7章 采用类型检查的实践

7.1 权衡利弊

7.2 早日实现投入产出平衡

7.2.1 找到你的痛点

7.2.2 从战略上选择目标代码

7.2.3 依靠工具

7.3 小结

第二部分 定义你自己的类型

第8章 用户自定义类型:枚举

8.1 用户自定义类型

8.2 枚举

8.2.1 Enum

8.2.2 何时不使用

8.3 高级用法

8.3.1 自动分配值

8.3.2 Flag

8.3.3 整数转换

8.3.4 唯一性

8.4 小结

第9章 用户自定义类型:数据类

9.1 数据类实战

9.2 用法

9.2.1字符串转换

9.2.2 相等性

9.2.3 关联性比较

9.2.4 不变性

9.3 与其他类型的比较

9.3.1 数据类与字典

9.3.2 数据类与TypedDict

9.3.3 数据类与命名元组

9.4 小结

第10章 用户自定义类型:类

10.1 类的剖析

10.2 不变量

10.2.1 避免损坏的不变量

10.2.2 为什么不变量是有益的

10.2.3 沟通不变量

10.2.4 消费你的类

10.2.5 维护者怎么办

10.3 封装和维护不变量

10.3.1 封装

10.3.2 保护数据访问

10.3.3 操作

10.4 小结

第11章 定义你的接口

11.1 自然接口设计

11.2 自然的交互

11.2.1 自然接口实践

11.2.2 魔法方法

11.2.3 上下文管理器

11.3 小结

第12章 子类型

12.1 继承

12.2 可替代性

12.3 设计方面的考虑

12.4 小结

第13章 协议

13.1 类型系统之间的张力

13.1.1 留空类型或使用Any类型

13.1.2 使用Union

13.1.3 使用继承

13.1.4 使用mixin

13.2 协议

13.3 高级用法

13.3.1 复合协议

13.3.2 运行时可检查协议

13.3.3 满足协议的模块

13.4 小结

第14章 使用pydantic进行运行时检查

14.1 动态配置

14.2 pydantic

14.2.1 验证器

14.2.2 验证与解析

14.3 小结

第三部分 可扩展的Python

第15章 可扩展性

15.1 可扩展性是什么

15.2开闭原则

15.2.1 检测OCP侵犯

15.2.2 缺点

15.3 小结

第16章 依赖关系

16.1 关系

16.2 依赖关系的类型

16.2.1 物理依赖关系

16.2.2 逻辑依赖关系

16.2.3 时间依赖关系

16.3 可视化你的依赖关系

16.3.1 可视化包

16.3.2 可视化导入

16.3.3 可视化函数调用

16.3.4 解释依赖关系图

16.4 小结

第17章 可组合性

17.1 可组合性介绍

17.2 策略与机制

17.3 较小规模的组合

17.3.1 组合函数

17.3.2 组合算法

17.4 小结

第18章 事件驱动的架构

18.1 工作原理

18.2 简单的事件

18.2.1 使用消息代理

18.2.2 观察者模式

18.3 事件流

18.4 小结

第19章 可插入的Python

19.1 模板方法模式

19.2 策略模式

19.3 插件式架构

19.4 小结

第四部分 构建安全网

第20章 静态分析

20.1 lint检测

20.1.1 编写自己的Pylint插件

20.1.2 分解插件

20.2 其他静态分析器

20.2.1 复杂度检查器

20.2.2 安全分析

20.3 小结

第21章 测试策略

21.1 定义测试策略

21.2 降低测试成本

21.3 小结

第22章 验收测试

22.1 行为驱动开发

22.1.1 Gherkin语言

22.1.2 可执行规范

22.2 额外的behave特性

22.2.1 参数化步骤

22.2.2 表格驱动的需求

22.2.3 步骤匹配

22.2.4 定制测试生命周期

22.2.5 使用标记选择性地运行测试

22.2.6 报告生成

22.3 小结

第23章 基于属性的测试

23.1 用Hypothesis开展基于属性的测试

23.1.1 Hypothesis的魔力

23.1.2 与传统测试的对比

23.2 充分利用Hypothesis

23.2.1 Hypothesis策略

23.2.2 生成算法

23.3 小结

第24章 突变测试

24.1什么是突变测试

24.2 用mutmut进行突变测试

24.2.1 修复突变体

24.2.2 突变测试报告

24.3 采用突变测试

24.4 小结

关于作者

关于封面

健壮的Python是2022年由机械工业出版社出版,作者[美] 帕特里克·维亚福尔。

得书感谢您对《健壮的Python》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
我的Python世界:玩Minecraft我的世界学Python编程 电子书
游戏化学习已成为趋势,而软硬件结合让你真正拥有“万物皆可造”的感觉。
Python游戏趣味编程 电子书
1.易于学习和理解:先讲解较少的语法知识,通过游戏案例逐步引入新的语法知识; 2.为初学者量身打造:案例从易到难,所有程序的代码均不超过100行; 3.趣味性强:12个案例,涵盖了多种游戏类型,寓教于乐; 4.可拓展性强:提供练习题和参考答案,巩固知识,训练逻辑思维; 5.配套素材齐全:提供完整源代码和分步骤源代码、游戏素材、游戏效果演示视频,可通过异步社区观看游戏开发步骤讲解视频; 6.全彩印刷。 美国教育家杜威曾说过:“大多数的人,只觉得五官能接触的、实用的东西才有趣味,书本上的趣味是没有的。” 《Python游戏趣味编程》通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者学习用Python开发趣味游戏,从而提升读者对编程的兴趣和能力。 《Python游戏趣味编程》把趣味游戏开发应用于Python编程教学,通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者从零基础开始学习。全书共13章,系统讲解了Python语言基本概念、开发环境搭建、循环、列表、数据类型、条件、复合运算符、字符串拼接、布尔变量、数组、函数、列表操作、面向对象编程等基础知识,还介绍了图片操作、文件读写、声音播放、异常处理等较为实用的编程技能,所有这些知识和技能,都通过游戏案例展示其用法。贯穿各章,还给出了一些练习,帮助读者巩固所学的知识。附录A给出了这些练习题的答案,附录B给出了Python语法知识在书中相关章节的索引。 《Python游戏趣味编程》适合不同年龄、不同层次的Python编程初学者阅读和自学,也可以作为中学生、大学生学习程序设计的教材和少儿编程培训机构的参考教材。 本书适合以下人群阅读: 想要让孩子学习Python编程的家长,或者想要自己教孩子编程的家长。 学习过其他编程语言,想要快速学习Python的人。 对计算机游戏感兴趣,想要尝试Python游戏编程的人。 想要学习Python编程的中学生和大学生。 少儿编程培训机构的老师和学生。 任何对计算机编程感兴趣、特别是初次接触编程的人。 本书中制作和讲解的小游戏 弹跳的小球 美丽的圆圈画 疯狂的小圆圈 飞翔的小鸟 见缝插针 飞机大战 勇闯地下一百层 贪吃蛇 拼图游戏 消灭星星 坚持一百秒 趣味图像生成
Python少儿趣味编程 电子书
适读人群 :任何想要学习Python或初次接触编程的人;Python语言的初学者、计算机专业的学生。尤其适合信息技术课教师或培训机构的老师以及青少年读者(初高中学生)阅读。 《Python少儿趣味编》由少儿编程畅销图书作者精心编写,是少儿学习Python编程的趣味指南,全书共17章,按照由简到难、逐步深入的方式组织各章内容。《Python少儿趣味编》精心选取内容,注重难易适度,语言通俗易懂,代码示例丰富。在每章的末尾,还给出了一些练习题并给出了解答。 《Python少儿趣味编》具有以下特色: ● 精心选取和组织内容,注重难易适度——涵盖基础知识、趣味应用和热门应用。 ● 坚持“做中学”的理念和方法——通过详细的示例和课后练习帮助读者学习和掌握。 ● 体现趣味性——用海龟给图绘制的机器猫、小猪佩奇等卡通角色,编写贪吃蛇游戏,对古典名著《西游记》分词。 ● 增强可拓展性——逐步扩展和改进的“成绩单”示例程序,章末习题既巩固知识,也拓展编程技能。 《Python少儿趣味编》适合想要学习Python 编程基础的少年儿童(尤其是10 岁以上的孩子)及想要教孩子学习编程的家长阅读,也适合少儿编程培训班的老师用作少儿编程培训的教材。 本书带领读者编写的趣味程序包括: ● 帮Johnson 找到回家的路; ● 逐步扩展和改进的“成绩单”示例程序; ● 用海龟绘图绘制的机器猫; ● 用海龟绘图绘制小猪佩奇; ● 弹球游戏; ● 编写贪吃蛇游戏; ● 对古典名著《西游记》分词。
Python图像处理实战 电子书
本书先介绍经典的图像处理技术,然后探索图像处理算法的演变历程,始终紧扣图像处理以及计算机视觉与深度学习方面的最新进展。全书共12章,涵盖图像处理入门基础知识、应用导数方法实现图像增强、形态学图像处理、图像特征提取与描述符、图像分割,以及图像处理中的经典机器学习方法等内容。
Python程序设计 电子书
基于Python 3.4版本,详解Python程序设计方法。