
本文共 908 字,大约阅读时间需要 3 分钟。
之前看到一张图,把各种编程语言比作不同的工具,非常形象生动。这里把Python比作电锯,简单粗暴,威力巨大,用起来得心应手。
这张图片说明了编程语言只是一种工具,我们要善于根据不同的实际情况选择趁手的工具。但是作为一个Coder,要想达到更高的水平,不仅要把工具用起来得心应手,还要明白工具背后设计的原理。这样我们才能够深入地学习这些编程语言作者们的思想,先不说自己是否能成长为大神,至少可以更好地理解和使用这些编程语言吧。本着“知其然,还要知其所以然”的态度,我决定系统地学习一下Python的源码。
我暂且把学习计划分为三步:第一步,学习Python标准库源码,也就是Python自带模块中那些用纯Python实现的部分,源码文件在Lib目录下,参考这个。第二步,学习Python内置模块源码和内置类型的实现源码,也就是Python自带模块中那些用C语言实现的部分,源码文件在Modules和Objects目录目录下,参考这个。第三步,学习Python解释器的实现源码,源码文件在Python目录下。
本次研究的是CPython的源码,使用当前最新版本Python3.8.3,源码在下载。考虑到自己的水平和时间,如果还没完成我的学习计划,Python就已经发布了新版本,那就换新版本研究吧,反正也不会有太大的区别,总之要紧跟时代潮流,hh。
《》系列作为学习计划的第一部分,首先要明确学习目的和学习目标:通过阅读分析标准库的Python代码,学习Pythonic的风格和习惯,同时熟悉常用库的常用API (有需要的时候不用再百度),并了解一些不常用库的作用(有需要的时候能想到)。
学习Python源码这个计划几个月前就在想了,奈何拖延症发作,希望这个博客系列以后可以做到每月更新一篇!
Python 源代码主要目录结构
- Grammar。EBNF描述的语法规则在这个目录下。
- Include。整个解释器所有的头文件放在这个目录下。
- Lib。纯Python实现的标准库。
- Modules。C实现的标准库。
- Objects。所有的内置类型的实现。
- Python。Python虚拟机的核心代码。
参考链接:
1.
2.
发表评论
最新留言
关于作者
