首页 存档 技术 查看内容

Python源码剖析之准备工作

2018-3-30 13:00 |来自: 互联网 310 0

摘要: 我是一个Python程序开发者, 也C语言爱好者, 为了加强自己对Python语言实现的理解, 最近选择阅读下陈儒老师的书, 对Python3.5.1源码进行阅读, 再次记录下读书笔记. 欢迎各位指正. Python的总体结构 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、运行时状态信息
负责维护解释器在执行字节码时不同的状态之间切换动作


总体结构图:





点击原文,查看更多Python内容
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部