Python源码解读之零 Python源码整体架构

今天打算开一个新的系列,本系列将和大家一起对Python的源码进行分析,有参考陈儒的《Python 源码剖析》(强烈推荐这本书),做到知其然知其所以然。

总体架构

首先我们先从总体结构看一下Python源码的整体架构:

Imgur

大致分为三个模块

  • 代码文件 File Groups - python所提供的的大量的模块、库、以及用户自定义的模块。用户还可以通过自定义模块来扩展python系统。
  • 解释器 Python Core- 又称Python虚拟机,对代码分析理解,翻译成字节流,并运行这些字节代码。
    • Scanner 负责词法分析的工作,将代码一行一行切分为 token
    • Parser 则负责语法分析,将 Token 组织为抽象语法树
    • Compiler 则将语法树转化为指令集合的字节码流,最后由 Code Evaluator 来执行这些字节码。
  • 运行环境 Runtime Env - 包括运行时的对象、基础类型结构、内存分配器和实时的运行状态信息。
    • ObjectType Structure 分别是程序在运行过程中生成的对象和Python中的自带内建对象,如int、List、dict等。
    • Memory Allocator 则负责申请创建对象需要的内存,本质就是封装了 C 语言里面的 ma
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值