彻底弄懂Python标准库源码(零)—— 学习计划

之前看到一张图,把各种编程语言比作不同的工具,非常形象生动。这里把Python比作电锯,简单粗暴,威力巨大,用起来得心应手。

这张图片说明了编程语言只是一种工具,我们要善于根据不同的实际情况选择趁手的工具。但是作为一个Coder,要想达到更高的水平,不仅要把工具用起来得心应手,还要明白工具背后设计的原理。这样我们才能够深入地学习这些编程语言作者们的思想,先不说自己是否能成长为大神,至少可以更好地理解和使用这些编程语言吧。本着“知其然,还要知其所以然”的态度,我决定系统地学习一下Python的源码。

我暂且把学习计划分为三步:第一步,学习Python标准库源码,也就是Python自带模块中那些用纯Python实现的部分,源码文件在Lib目录下,参考这个官方标准库文档。第二步,学习Python内置模块源码和内置类型的实现源码,也就是Python自带模块中那些用C语言实现的部分,源码文件在Modules和Objects目录目录下,参考这个官方模块索引。第三步,学习Python解释器的实现源码,源码文件在Python目录下。

本次研究的是CPython的源码,使用当前最新版本Python3.8.3,源码在这里下载。考虑到自己的水平和时间,如果还没完成我的学习计划,Python就已经发布了新版本,那就换新版本研究吧,反正也不会有太大的区别,总之要紧跟时代潮流,hh。

彻底弄懂Python标准库源码》系列作为学习计划的第一部分,首先要明确学习目的和学习目标:通过阅读分析标准库的Python代码,学习Pythonic的风格和习惯,同时熟悉常用库的常用API (有需要的时候不用再百度),并了解一些不常用库的作用(有需要的时候能想到)。

学习Python源码这个计划几个月前就在想了,奈何拖延症发作,希望这个博客系列以后可以做到每月更新一篇!

 

Python 源代码主要目录结构

  • Grammar。EBNF描述的语法规则在这个目录下。
  • Include。整个解释器所有的头文件放在这个目录下。
  • Lib。纯Python实现的标准库。
  • Modules。C实现的标准库。
  • Objects。所有的内置类型的实现。
  • Python。Python虚拟机的核心代码。

 

参考链接:

1. Python内置模块与标准库 - impluse 

2. Python源码寻宝记——地图篇 — 0xFEE1C001

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
学习Python标准库的方法如下: 1. Python官方文档:Python官方文档是学习Python标准库最权威的资源之一。您可以访问Python官方网站,查找并阅读有关标准库的文档。官方文档提供了详细的说明、示例代码和用法指南,可以帮助您理解和使用各个模块。 2. 在线教程和教学资源:有许多在线教程和教学资源专门介绍Python标准库的使用。您可以通过搜索引擎找到一些受欢迎的Python学习网站、博客和视频教程,这些资源通常提供了实例和练习,帮助您更好地理解和应用标准库。 3. 书籍和参考资料:有许多经典的Python书籍和参考资料专门介绍Python标准库的使用。例如,《Python标准库》、《Python Cookbook》等。阅读这些书籍可以帮助您系统地学习各个模块,并了解它们的用法和最佳实践。 4. 实践项目:通过实际项目来应用Python标准库是最有效的学习方法之一。挑选一个感兴趣的项目,尽量使用标准库中的模块来解决问题。这样可以让您在实践中加深对标准库的理解,并了解如何将其应用于实际场景。 5. 参与社区和讨论:参与Python社区和在线讨论论坛可以帮助您与其他开发者交流经验和学习资源。您可以加入Python官方论坛、技术社区或者参加本地的Python用户组活动,与其他开发者分享和探讨使用标准库的经验。 记住,学习Python标准库需要时间和实践,不要急于求成。通过不断的学习和实践,您会逐渐掌握各个模块的功能和用法,并能够灵活地运用它们来解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值