前言

许多读者可能认为他们已经掌握了Python语言,并且知道编写利用该语言最佳特性的应用程序所需的一切。这本书的目的是深入研究Python中一些开发者从未体验过的相关技术。

本书将揭示Python中鲜为人知甚至让人有所误解的与标准库实现相关的内容,并提供对模块实际工作方式的理解。本书展示了集合和数学模块的正确实现,以及数字(如小数和分数)的相关内容,这将有助于读者拓展视野。在详细了解内部特殊方法之前,读者将了解装饰器、上下文管理器、协同程序和生成器函数等。本书探讨了CPython解释器,包括可以改变环境功能的命令选项,以及改进普通Python体验的可选交互式Shell。读者将浏览PyPy项目,在那里可以接触到几种新的方法来提高应用程序的速度和并发性。本书同样回顾了几种Python增强方案,以了解Python未来的发展趋势。最后,本书提供了编写Python代码文档的不同方法。

本书目标读者

这本书是为那些想学习如何用新方法来改进应用程序性能的Python软件开发人员而写的。想要掌握这本书的知识,最好有一定的Python开发经验。

本书组织结构

第1章,使用Python模块。介绍Python包、模块和名称空间,导入虚拟环境,并包装Python代码以进行使用。

第2章,使用Python解释器。探讨了Python命令行选项、定制交互式会话、在Windows操作系统上使用Python以及可选的Python交互式Shell。

第3章,使用装饰器。回顾Python函数,并说明如何用装饰器来改进它们。

第4章,使用Python collections。回顾容器并深入了解Python中可用的collections。

第5章,使用生成器、协同程序和并行处理。重点介绍Python中的迭代器以及它如何与生成器一起工作,然后介绍并发和并行处理。

第6章,使用Python的math模块。深入讲解Python是如何实现各种数学运算的。

第7章,使用PyPy提升Python性能。概述如何使用即时编译改进Python性能。

第8章,使用Python增强方案。讨论如何进行Python语言的改进,并介绍几个当前通用的方案。

第9章,使用LyX写文档。展示如何用不同的技术和工具来记录代码,撰写文档。

关于本书

虽然本书的许多主题都是从初学者应该掌握的基本知识展开的,但是对Python有一定了解的读者读起来会更加容易。具体来说,本书假设读者具有使用交互式Python解释器和编写Python文件、导入模块以及面向对象编程工作的经验。

除非另有说明,否则本书均以Python 3.6为例。虽然简要地讨论了替代实现,但本书假定使用基本的CPython实现。