前言
如果把学习python源码看做是一次探索之旅,在开启一场探索之前,准备好一张完整的“地图”,无疑是这次探索的一个强力“加速器”,这样既可以让我们尽可能的不“迷路”,同时也会让我们有一个明确的方向,追随这个方向,才会让我们立目的地越来越近!
地图
而对于这场特殊的探险之旅,它的地图张什么样子呢?废话不多说,直接上“地图”!如下,这张地图就是python的源码目录结构以及它每一个结构的含义,有了这个,你就知道你需要探索的东西在哪里啦!
注意:这个“地图”来自于python2.5的版本,具体内容可能会有些许出入,如果你希望拿到最新的地图,可以参考官网的开发者指南:传送门,源码的布局如下,可以对比上面的地图进行参考,其中,需要额外的注意的就是它的一些
exceptions
,比如内置类型int和str的具体位置不是按照常规的方式命名的(这个导致我刚开始寻找int类型的源码时找了半天没找到,原因就是py2.5和这个不一样😭😭😭 )。
确定目的地
每个目录的含义我就不一一再解释一遍了,直接参考这张“地图”就可以啦!知道了每个地点的意义,那么我们究竟要去哪里呢?这个是我们自己需要思考的地方,就像在开发一个产品时,我们需要知道这个产品的需求是什么,我们才能需求分析,架构设计等等后期的规划,它既是我们的终点,也是我们的起点。
对于我的目的地,我也思考了很久:我将确定目的地转换成了一个问题:我需要探索的有多深?我需要学习到什么程度?很多小伙伴的第一想法可能是:当然是越深越好,但是,考虑到其他成本,比如时间,精力,以及能力问题(虽然这个可以通过时间和精力来弥补),这将会是一个无底洞…所以得具化,如果具化的话,这个问题就好解决了,所以,我的目的地就是:围绕《python源码剖析》这本书掌握其中60%内容。至于目的地为什么是这个主要有两个原因:其一,对于python源码的探索,这对于我来说是一个全新的领域,“站在巨人的肩膀上”总比自己摸爬滚打快得多,而这本书就是我的“巨人”!其二:再精华的内容也会有“层次”的划分,这本书也不例外,所以60%足已。
所以你的目的地是什么?🤓
同步更新于个人博客系统:python的源码组织