一、简介

Python 的某些功能看起來是否像魔法?如:用字典查找项目比在列表上循环要快得多?迭代器是如何在生成值的时候记住每一个变量的状态?为什么你不需要像对待其他语言那样分配内存呢?问题的答案是 CPython-最流行的Python运行时,其是用人可阅读的 C 代码和 Python 代码编写而成。

CPython 抽象了底层的 C 平台和操作系统的复杂度。它使线程变得简单和跨平台。它减轻了 C 语言中内存管理的痛苦并使其变得很简单。CPython 为编写 Python 代码的开发者提供了一个编写可扩展及高性能应用的平台。在你作为 Python 开发者的某一个阶段,你需要理解 CPython 是如何工作的。这些抽象并不是最完美的,甚至存有瑕疵。

一旦你理解了 CPython 的工作原理,那么你就可以充分利用其强大的能力并优化你的应用。本书会向你介绍 CPython 的概念、想法和技术原理。

在本书中,你将学到 CPython 内部背后的主要概念,并学习如何:

  • 阅读和浏览源代码;

  • 从源码重新编译 CPython;

  • 修改 Python 语法并重新编译出你的 CPython 版本;

  • 浏览和理解某些概念的内部工作原理,如:列表、字典和迭代器等;

  • 掌握 CPython 的内存管理技能;

  • 通过并行和并发扩展你的 Python 代码;

  • 给核心类型添加新功能;

  • 运行测试套;

  • 对 Python 代码和运行时性能进行分析和基准测试;

  • 像一个专家一样调试 C 和 Python 代码;

  • 编译或者升级 CPython 库中的组件,并使其能为你的应用做出贡献;

花点时间学习每一章节内容并尝试各个 demo 和互动内容。当你掌握核心概念时,你会感到一种成就感,这些概念将使你成为一个更好的 Python 程序员。

Last updated