Python源码剖析
陈儒
推荐序一
让我们做得更好
Python,我想已经不再是个陌生的词了,越来越多的人开始学习它,使用它,宣传它,甚至用它找到了工作。如果你了解Python,那么我想问一下,你对它有多了解呢?它是一种什么语言?如何实现的?有哪些对象,它们是如何处理的?你了解Python的虚拟机吗?了解它的运行环境吗?其实作为初学者或只是使用者,你的确不必了解这么多细节的内容,但是探究事物的原理,分析底层细节却也是许多人成为高手、“老鸟”的原因,因为你知道别人不知道的东西,掌握了别人不了解的技术,这些内容使得你的见解、分析,甚至作品都可能超过别人。那么本书就向你提供了一个了解Python底层细节的机会,你可以沿着作者的思路和角度去体会Python的工作原理和底层的细节,一点一点地了解Python源码的精妙之处,有助于更好地掌握Python并编写出高质量的程序。
本书的内容深入到Python的方方面面,像Python的对象实现机制是如何用C来表现的;对象的特性是如何实现的;对象是如何管理的;不同对象,如int、str、dict、list等的处理;Python的虚拟机框架、作用域的实现;运行时环境,pyc文件,类机制等。还有一些高级话题,如内存管理,GIL(Global Interpreter Lock)与多线程,模块动态加载等。
在接触到本书之前,我已经在作者的Blog上见到过部分内容,那时已经被作者不懈的毅力和深厚的功力折服。说实话,由于经常接触Python,对于原本熟悉的C语言也越来越陌生,更不要说去“啃”Python的C代码了。而Robert Chen可以从源码中进行有条理的分析和整理,并终于出版此书。这不仅让人敬佩,更让广大的Python爱好者受益多多。因此,当出版社希望我为本书作一个推荐序时,我毫不犹豫地答应下来。
第一次见到Robert Chen还是在CPUG的一次会课上,那时Robe…