Pro Python 3
Pro Python 3
简介:
引言
《Pro Python 3》一书(作者:马蒂·阿尔钦和 J. 伯顿·布朗宁,2019 年出版,360 页)并非又一本 Python 语法入门书。它是一本为那些已经能熟练编写 Python 代码,并希望了解该语言“底层”工作原理的开发者准备的全面指南。与众多面向初学者的书籍不同,本书聚焦于高级概念:元编程、装饰器、上下文管理器、迭代器、生成器、字节码操作以及性能优化。该书于 2019 年出版,因此内容适用于 Python 3.6–3.8 版本,但书中描述的大多数技术也适用于更新的版本。
这本书是关于什么的?
《Pro Python 3》以循序渐进的方式深入探索该语言。作者没有浪费时间解释基本数据类型或循环——他们假设读者已经熟悉基础知识。相反,本书揭示了以下主题:
- 元类 — 如何创建自己的元类并控制类的创建。
- 装饰器 — 从简单的函数装饰器到类装饰器以及 Python 的内置装饰器。
- 上下文管理器 — 使用
__enter__和__exit__以及contextlib编写自己的上下文管理器。 - 迭代器和生成器 — 创建惰性序列、无限迭代器,使用
yield from。 - 描述符 — 属性、方法和静态方法在描述符协议层面是如何工作的。
- 字节码操作 — 简要介绍 Python 如何编译代码,以及如何利用这一点进行优化。
- 性能优化 — 性能分析、使用内置函数、缓存、内存管理。
- 测试与调试 — 编写测试的高级技巧,使用
unittest.mock,使用pdb调试以及日志记录。
每一章都包含大量代码示例,可以立即在解释器中尝试。作者不仅解释了“如何做”,还解释了“为什么”——这对于理解 Python 的设计哲学尤其宝贵。
这本书适合谁?
本书面向经验丰富的开发者,他们至少已经完成过一个 Python 项目,并希望提升到新的水平。它将有助于:
- 希望编写更高效、更简洁代码的开发者。
- 对 Python 内部机制感兴趣,并希望了解语言抽象如何工作的人。
- 从其他语言(Java、C++、C#)转来并希望掌握地道 Python 的程序员。
- 希望利用 Python 高级特性创建灵活工具的自动化、测试和 DevOps 专业人员。
重要提示:本书不适合初学者——它要求读者扎实掌握基础知识(函数、类、异常、文件操作)。
读者将学到什么?
阅读本书后,您将能够:
- 创建自己的元类,并理解何时真正需要它们(以及何时不需要)。
- 编写带参数的复杂装饰器以及用于类的装饰器。
- 使用上下文管理器管理资源(文件、连接、锁)。
- 构建高效、节省内存的迭代器和生成器。
- 理解属性、静态方法和类方法在描述符层面是如何工作的。
- 对代码进行性能分析并找出瓶颈。
- 应用高级测试技术,包括模拟和固件。
- 使用字节码进行底层优化(尽管这更多是介绍性信息)。
本书的优势
- 论述深度。