Python架构

Python数据流方向(解释器工作过程):

Scanner:词法分析,将文件输入的Python源代码或从命令行输入的一行行Python代码切分为一个一个的token;

Parser:语法分析部分,在Scanner的分析结果上进行语法分析,建立抽象语法树(AST);

Compiler:根据建立的AST生成指令集合——Python字节码(byte code),就像Java编译器和C#编译器所做的那样;

Code Evaluator:解释并执行这些字节码。因此,Code Evaluator又可以被称为执行引擎。

 

Python源码目录:

Include :该目录下包含了Python提供的所有头文件,如果用户需要自己用C或C++来编写自定义模块扩展Python,那么就需要用到这里提供的头文件。

Lib :该目录包含了Python自带的所有标准库,Lib中的库都是用Python语言编写的。

Modules :该文件夹中包含了所有用C语言编写的模块,比如ramdom,cStringIO等,Modules中的模块是那些对速度要求非常严格的模块。而有一些对速度没有太严格要求的模块,比如os,就是用Python编写,并且放在Lib目录下。

Parser :Parser目录中包含了Python解释器中的Scanner和Parser部分,即对Python源代码进行词法分析和语法分析的部分。除了这些,Parser目录下还包含了一些有用的工具,这些工具能够根据Python语言的语法自动生成Python语言的词法和语法分析器,与YACC非常类似。

Objects :该目录中包含了所有Python的内建对象,包括整数,list,dict等;同时,该目录还包括了Python在运行时需要的所有的内部使用对象的实现

Python :该目录下包含了Python解释器中的Compiler和执行引擎部分,是Python运行的核心所在。

PCBuild :包含了Visual Studio 2003工程文件,研究Python源代码就从这里开始。

 

编写源码到内存运行过程可参考:https://www.cnblogs.com/fullmetalcoder/p/11358994.html

本文知识来源:《Python源码剖析》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值