22
33## 源代码下载
44
5+ ### 方式 1:GitHub
6+
57Python 源代码可以在 GitHub 上方便的获取,执行:
68
79``` console
@@ -11,6 +13,17 @@ git checkout v3.7.0
1113
1214即可获取 ` Python 3.7.0 ` 版本的代码。
1315
16+ ### 方式 2:Python 官方网站
17+
18+ 访问 https://www.python.org/downloads/release/python-370/ ,下拉至页面最下方,可选择下载 tarball 源码包。
19+ 亦可执行:
20+
21+ ``` console
22+ wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
23+ ```
24+
25+ 即可获取 ` Python 3.7.0 ` 版本的代码。
26+
1427## 目录结构
1528
1629进入源码目录,我们可以看到该目录下主要 包含以下文件(夹):
@@ -47,18 +60,18 @@ git checkout v3.7.0
4760
4861其中:
4962
50- Include 目录:包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。
63+ ** Include 目录** :包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。
5164
52- Lib 目录:包含了 Python 自带的所有标准库,且都是用 Python 语言编写的。
65+ ** Lib 目录** :包含了 Python 自带的所有标准库,且都是用 Python 语言编写的。
5366
54- Modules 目录:包含了所有用 C 语言编写的模块,比如 math、hashlib 等。它们都是那些对速度要求非常严格的模块。而相比而言,Lib 目录下则是存放一些对速度没有太严格要求的模块,比如 os。
67+ ** Modules 目录** :包含了所有用 C 语言编写的模块,比如 math、hashlib 等。它们都是那些对速度要求非常严格的模块。而相比而言,Lib 目录下则是存放一些对速度没有太严格要求的模块,比如 os。
5568
56- Parser 目录:包含了 Python 解释器中的 Scanner 和 Parser 部分,即对 Python 源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。
69+ ** Parser 目录** :包含了 Python 解释器中的 Scanner 和 Parser 部分,即对 Python 源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。
5770
58- Objects 目录:包含了所有 Python 的内建对象,包括整数、list、dict 等。同时,该目录还包括了 Python 在运行时需要的所有的内部使用对象的实现。
71+ ** Objects 目录** :包含了所有 Python 的内建对象,包括整数、list、dict 等。同时,该目录还包括了 Python 在运行时需要的所有的内部使用对象的实现。
5972
60- Python 目录:包含了 Python 解释器中的 Compiler 和执行引擎部分,是 Python 运行的核心所在。
73+ ** Python 目录** :包含了 Python 解释器中的 Compiler 和执行引擎部分,是 Python 运行的核心所在。
6174
62- PCBuild 目录:包含了 Visual Studio 2003 的工程文件,研究 Python 源代码就从这里开始(本书将采用 Visual Studio 2017 对 Python 进行编译)。
75+ ** PCBuild 目录** :包含了 Visual Studio 2003 的工程文件,研究 Python 源代码就从这里开始(本书将采用 Visual Studio 2017 对 Python 进行编译)。
6376
64- Programs 目录:包含了 Python 二进制可执行文件的源码。
77+ ** Programs 目录** :包含了 Python 二进制可执行文件的源码。
0 commit comments