Python源码剖析之准备工作

我是一个 Python 程序开发者, 也 C 语言爱好者, 为了加强自己对 Python 语言实现的理解, 最近选择阅读下陈儒老师的书, 对Python3.5.1 源码进行阅读, 再次记录下读书笔记. 欢迎各位指正.

Python 的总体结构

Python 总体分为三部分: 文件系统(File Groups), 解释器(Interpreter), 运行时环境 (Runtim Environement):

  • 文件系统用于存储 Python 脚本文件(.py), 主要分为内置模块、第三方模块、用户自定义模块

  • 解释器用于完成 Python 脚本文件的扫描、解析、编译和运行,主要分为 Scanner、Parser、Complier、Exauator四部分

1、Scanner
用于对 Python 脚本的词法解析, 将脚本切分为 token

2、Parser
对所有 token 进行语法解析, 创建抽象语法树

3、Complier
根据抽象语法树, 创建指令集合(Python字节码)

4、Exauator
运行 Python 字节码

  • 运行时环境主要分为对象/类型系统、内存分配器、运行时状态信息

1、对象/类型系统
包含 Python 的所有内置对象、用户自定义的类型和对象

2、内存分配器
负责维护 Python 对象创建时对内存的申请

3、运行时状态信息
负责维护解释器在执行字节码时不同的状态之间切换动作

总体结构图:

 作者:KK(原创)

更多精彩详情 Reboot教育 - 高效你的学习

猜你喜欢

转载自blog.csdn.net/reboot_xwa/article/details/82181577