CPython 源代码

本节概述了 CPython 的代码结构,并总结了模块和内置函数的文件位置。

源代码布局

对于 Python 模块,典型布局为

  • Lib/<module>.py

  • Modules/_<module>.c(如果还有 C 加速器模块)

  • Lib/test/test_<module>.py

  • Doc/library/<module>.rst

对于 扩展模块,典型布局为

  • Modules/<module>module.c

  • Lib/test/test_<module>.py

  • Doc/library/<module>.rst

对于 内置类型,典型布局为

对于 内置函数,典型布局为

这些布局的一些例外情况是

其他参考

CPython 代码库不断变化和发展。以下是有关 CPython 架构的一些参考示例,旨在帮助你了解 CPython 内部及其演变

当前参考

标题

简介

作者

版本

使用 GDB 观察从解析器到对象的指南

从解析器、AST、符号表和对象进行代码演练

Louie Lu

3.7.a0

绿树蛇

缺少的 Python AST 文档

Thomas Kluyver

3.6

又一个 CPython 的导览

CPython REPL 工作原理指南

Guido van Rossum

3.5

Python 异步 I/O 演练

CPython 异步 I/O、生成器和协程的工作原理

Philip Guo

3.5

Python 扩展的编码模式

在 C 中编码 Python 扩展的可靠模式

Paul Ross

3.4

CPython 源代码指南

CPython 源代码指南

Anthony Shaw

3.8

历史参考

标题

简介

作者

版本

Python 内核系列

ceval、对象、pystate 和其他主题

Yaniv Aknin

3.1

Eli Bendersky 的 Python 内部

对象、符号表和其他主题

Eli Bendersky

3.x

使用 Eclipse 观察从解析器到对象的指南

从解析器、AST、符号表和对象进行代码演练

Prashanth Raghu

2.7.12

CPython 内部:在 Python 解释器源代码中进行十小时代码演练

从源代码到生成器的代码演练

Philip Guo

2.7.8