Date: 2021.4.10
Author: jwensh
直接去python官网,下载源码,这个源码阅读,看你的需要来选择版本,你可以选择最新版本,来查看新版本更新的内容细节,或者你选择你当前学习或工作使用的版本:
我下载了 Python3.9.4 版本
$ tree -L 1
.
├── CODE_OF_CONDUCT.md
├── Doc # rst文件与Python的关系,类似Javadoc与Java,可以build成html的文档形式
├── Grammar # python的语法清单
├── Include # 该目录下包含了Python提供的所有文件头,如果用户需要自己用C或者C++来编写自定义模块扩展Python,那么就需要用到这里提供的头文件。
├── LICENSE
├── Lib # 该目录包含了Python自带的所有标准库,Lib中的库都是用Python语言编写的。
├── Mac # 简要概述了Python发行版中的一些macOS特定功能
├── Makefile.pre.in
├── Misc # 这个目录包含的文件在其他地方放不下。有些文件只有历史意义
├── Modules # 该目录中包含了所有用C语言编写的模块,比如random、cStringIO等。Modules中的模块是那些对速度要求非常严格的模块,而有一些对速度没有太严格要求的模块,比如os,就是用Python编写,并且放在Lib目录下的。
├── Objects # 该目录中包含了所有Python的内建对象,包括整数、list、dict等。同时,该目录还包括了Python在运行时需要的所有的内部使用对象的实现。
├── PC # 包含了制作Python几个旧PC端口的完整项目文件,以及所有PC特有的Python源文件。应该位于Python发行版的根目录,应该有“Modules”、“Objects”、“Python”等目录。在这个“个人电脑”子目录的父目录中
├── PCbuild # 包含了Visual Studio的工程文件,研究Python源码就从这里开始。
├── Parser # 该目录中包含了Python解释器中的Scanner和Parser部分,即对Python源码进行词法分析和语法分析的部分。除了这些,Parser目录下还包含了一些有用的工具,这些工具能够根据Python语言的语法自动生成Python语言的词法和语法分析器,与YACC非常类似。
├── Programs # 二进制可执行文件的源文件(与共享模块相对)
├── Python # 该目录中包含了Python解释器中的Compiler和执行引擎部分,是Python运行的核心所在。
├── README.rst
├── Tools # 该目录包含许多Python程序,这些程序在构建或扩展Python时非常有用
├── aclocal.m4
├── config.guess
├── config.sub
├── configure
├── configure.ac
├── install-sh
├── netlify.toml
├── pyconfig.h.in
└── setup.py # 安装使用的脚本
Include
、Objects
、Modules
需要些写C语言的基础
,不然看起来,会有些吃力,为什么需要C,那需要看你使用的是CPython
还是 JPython
当你开始阅读源码时,一定是有某些问题被背景,才会驶向这条航道,而我主要时为了了解,垃圾回收机制,而为什么需要了解python的垃圾回收机制?有会有很多场景,比如:我想优化代码,怎么组织代码逻辑,怎么深入设计模式等等,所以在阅读源码前,最好是带上一些问题,有目的才会有收获。从解压的源码包来看,内容居多,从何看起,那先要看自己的问题都有哪些?
1.学习源码的哪些内容?
2.Python 大致都有哪些内容组成
3.源码可以直接使用 VS code 编辑器直接打开,进行阅读,建议通过笔记或画图的方式,记录阅读过程