为什么不推荐Python初学者直接看项目源码

无论是有没有其他语言的经验,入门Python都很简单。Python拥有简单直观的语法,方便的语法糖,以及丰富的第三方库。只要一个基础的Python教程,大家基本上都能无障碍的入门。在入门之后,很多人对于进一步学习的建议都是“做项目”、“看源码”,然而这样的建议实际是较难实现的,自己执行的效率会很低。

“这种时候如果有整理好的Python代码片段,如果有指导分析优秀开源代码的教程就好了。”

抱着这样的想法,我开始从自己“低效”的学习中,整理“高效”的干货,希望能够帮助到各位初学者。这就是“Python代码阅读”系列。

在这个系列中,最开始是大量Pythonic的代码片段,不仅展示了如何应用Python语法和标准库,还展示了一些有趣的技术和思维方式。

后续计划增加GitHub上流行的简单Python项目。以及一些小型的实用系统的实现。

通过下面的链接就可以进入到“Python代码阅读”系列合集的施工现场。

链接:“Python代码阅读”系列

初学Python的常见问题

对于初学者而言,Python入门很简单。入门之后只靠基础语法也完全可以做到平时写写脚本,解决自己工作、生活上的重复性劳动。想要什么功能,基本上都能找到方便的库。在只求应用,不求理解的情况下,很快就能实现日常表格处理、文件下载、邮件发送等功能。甚至像图像处理、OCR这样“高端”的功能也有对应的工具库可以使用。

但是做到这种程度只是小打小闹,想要真正的在开发工作中使用Python语言,或者是在GitHub上贡献开源代码,都是远远不够的。这时候,初学者的常见问题主要集中在以下四点:

  1. 学会了语法,但是不会应用。
  2. 仍然是用其他语言的逻辑在写Python代码,不是Pythonic的代码。
  3. Python项目结构不合理。
  4. 缺少对更深入主题的研究,例如装饰器、异常处理、多进程多线程、设计模式等。

传统建议的解决方案

对于已经了解基础语法,学习了Python基础数据结构的初学者,传统的建议是做项目、看源码。这样的建议不能说不正确,但是在执行起来会有各种各样的问题,从而导致学习效率低下。

首先聊一下做项目

对于初学者而言,应聘到一个使用Python语言做开发的团队显然是不现实的。那么基本上项目的来源就是自己找的练手课题或者在GitHub上参与开源项目。

自己找个项目进行练手可以说是效果最差的方式了。它实际上还是摸着石头过河,接触不到优秀的源码和实现方法,也没有人指导。最终也只是实现了功能而已,不论是代码设计还是项目结构,都是闭门造车,提升有限。最大的作用也就是提高对语法、基本数据结构和标准库的熟练程度。

至于在GitHub上找项目,一般新手能够找到的优秀项目基本上都已经过了初始阶段。在这种情况下,对于初学者而言,加入维护的难度较大,能够做的工作更多的只是一些小bug的发现和修复,甚至于只能从文档方面开始。

然后聊一下看源码

对于初学者而言,虽然直接看源码复杂度较高,但是只要肯下功夫,用好搜索引擎,大部分功能性的源码还是可以看懂的。不过如果没有人指导的话,效率肯定是不高的。同时很可能只是看懂逻辑,明白了功能如何实现。如果没有一定的设计模式等知识的基础,难以发现和理解代码的设计思路和原因。实际“看源码”的作用就少了一半,得不到精华。

我的方法

我的方法也是从传统的方法里面来的。说白了就是自己受苦,自己从“低效”的“看源码”和“做项目”的学习中,整理“高效”的干货,挑选合适的源码和项目,配上合适的讲解,从而可以更好的被初学者接受,提高学习效率。

这就是“Python代码阅读”系列。

目前该系列还在努力连载施工中,通过下面的链接就可以进入到“Python代码阅读”系列合集的施工现场。

链接:“Python代码阅读”系列

“Python代码阅读”系列首先从简单实用的函数开始,聚焦单一功能性的函数。不仅展示了如何应用Python语法和标准库编写足够Pythonic的代码,还展示了一些有趣的技术和思维方式。同时这些代码片段也具备很高的实用性,我自己平时也会在其他项目中使用到。

后续的计划是增加GitHub上兼具实用性和趣味性的优秀Python项目的源码解读。从项目结构开始梳理,理清功能和逻辑,讲解代码设计和实现。

同时也计划增加一些趣味的小型系统的实现。例如小型区块链、数据库、docker、git甚至是编程语言等。通过一步一步的实现这些系统,不仅能够学习到Python编程,还能学习到这些系统的设计理念和内部实现逻辑。

施工进度与地点

目前“Python代码阅读”系列还处于第一阶段的编写中,也是最适合刚刚进行完Python基础语法学习的初学者的部分。系列中展示的代码片段可以尽快让初学者掌握如何应用Python语法和标准库,同时其实用的功能性,也可以在以后的开发中用到。

通过下面的链接就可以进入到“Python代码阅读”系列合集的施工现场。

链接:“Python代码阅读”系列