开始研究 Python 内部实现前,我们需要先获得一份源码。
Python 除了官网提供的 C 语言实现,还有其他杂七杂八的实现。例如, Jython基于 Java 实现,可直接调用 Java 类库。
本专栏介绍官方 CPython 的实现,后续讨论如无特别说明,均针对 CPython 。
在 Python 官网 ,我们可以下载最新的 Python 解释器,也可以下载到最新的源码。Python 解释器是源码的编译结果——对源码进行编译,可以得到 Python 解释器程序。
在官网 源码下载 页面,我们可以找到所有 Python 版本的源码。专栏撰写时,Python 3 已经是主流版本。因此,我们选用最新的稳定版本 3.7.4 作为研究对象。
进入 Python 3.7.4 下载页面:https://www.python.org/downloads/release/python-374/ ,我们可以看到一个这样的下载列表:
这个列表前两个是 Python 源码,分别是 gz 以及 xz 格式。选择其中一个下载并解压缩,我们就得到一份完整的 Python 源码。
|
|
进入源码目录,我们可以看到大致这样的目录结构:
|
|
接下来,我们快速浏览几个重要的子目录:
- Doc ,文档相关;
- Grammar ,语法规则;
- Include ,头文件;
- Lib ,标准库;
- Parser ,语法分析相关;
- Python ,虚拟机执行相关;
- Objects ,内建对象实现;
专栏重点介绍 Python 内建对象 设计思路,以及 虚拟机 执行过程,包括 函数机制 、以及 类机制 。基于这个目标,我们将重点研究 Include 、 Python 以及 Objects 目录中的源码。
现在,请自备源码,我们一起踏上新征程!
到底如何才能提升我的 Python 开发水平,向更高一级的岗位迈进呢? 如果你有这些问题或者疑惑,请订阅我们的专栏 Python源码深度剖析 ,阅读更多章节:
【Python源码剖析】系列文章首发于公众号【小菜学编程】,敬请关注: