上QQ阅读APP看书,第一时间看更新
0.2 Python源码组织
要查看Python源码的组织,首先要获得Python源码。读者可以从Python的官方网站自由下载源码,也可以从GitHub自由获取。
GitHub获取源码的方式如下:
git clone https://github.com/python/cpython.git # clone成功后,会在当前目录下增加一个cpython文件夹,进入cpython目录,执行如下命令 git checkout v3.8.0
将获取到的源码包解压,进入源码目录,可以看到源码包的目录结构如图0-2所示。
图0-2 Python 3目录结构
其中,部分目录解释如下:
·Include目录:包含Python提供的所有头文件。如果用户需要,可用C或C++编写自定义模块来扩展Python。
·Lib目录:包含Python自带的所有标准库,且都是用Python语言编写的。
·Modules目录:包含所有用C语言编写的模块,比如math、hashlib等。它们都是对运行效率要求非常严格的模块。相比而言,Lib目录下则是存放一些对速度没有太严格要求的模块,比如os。
·Parser目录:包含Python解释器中的Scanner和Parser部分,即对Python源码进行词法分析和语法分析的部分。除此以外,该目录还包含一些有用的工具。这些工具能够根据Python语言的语法自动生成Python语言的词法和语法分析器,与YACC非常类似。
·Objects目录:包含所有Python的内置对象,包括整数、list、dict等。同时,该目录还包括Python在运行时需要的所有内部使用对象的实现。
·Python目录:包含Python解释器中的编译(Compiler)和执行引擎部分,是Python运行的核心所在。
·PCbuild目录:包含Visual Studio 2003的工程文件,对于Python源码的研究就从这里开始。
·Programs目录:包含Python二进制可执行文件的源码。