CPython源码剖析

  http://blog.donews.com/lemur/category/70797.aspx?PageNumber=1

http://blog.donews.com/lemur/archive/2005/12/21/666530.aspx

通向Python之路

Python源码的剖析将分为四部分。

1.静态对象剖析:首先我们会分析静态的对象,Math对象和Container对象,深刻理解这些对象对我们理解Python解释器的运行会有很大的帮助,同时,对我们编写Python代码也将大有裨益,在编写Python代码时,你会清晰地意识到系统内部这些对象将如何运作,变化。当然,我们并不会分析所有的Python对象,而是选取使用最频繁的四种对象:PyIntObject, PyStringObject, PyListObject, PyDictObject进行剖析。

2.运行时剖析:在分析完静态的对象之后,我们将进入Python解释器,在这里我们会详细地考察Python的字节码(byte code)以及解释器对字节码的解释和执行过程。这部分将完整地展现Python中所有的语法结构,如一般表达式,控制流,异常流,函数,类等等的字节码层面的实现细节。同时,在这部分,我们会考察大部分的Python内部对象。

3.编译期剖析:这部分没什么好打广告的了,目标明确,对象清晰,但是难度呢,绝不简单 :)

4.运行环境剖析:这部分将考察从激活PythonPython准备就绪,可以接受用户输入或者执行脚本文件,这段时间内,Python如何建立自己的运行环境,并建立了怎样的运行环境,呵呵透露一下,想想Python那个庞大的builtin函数集合,这些就是这部分考察的重点。

阅读完这些内容之后,对于Python,你应该是了如指掌了,在以后编写Python代码时,你的脑子里甚至可以出现Python解释器将如何一步步解释你的代码的情形。当然,这只是我写作本书的副产品。这本书诞生的真正原因只有一个,兴趣,我对Python的实现有浓厚的兴趣。这本书也只是第一步,希望以后还能继续对Python系列,如IronPythonJythonPyPy的探索,当然,对于其他动态语言,比如Ruby的探索,我希望也会有时间去做。如果你对动态语言的实现有兴趣,你一定会喜欢本书;如果你还没有兴趣,希望它能唤起你的兴趣 :)

你可能感兴趣的:(CPython源码剖析)