Python 小白快速从入门到放弃:在结束后

这个系列的课程的目标在《在开始前》已经说得很清楚了:解决重复劳动或自己做好玩儿的小项目;尝试新的思维方式。这短短的几节课要想把 Python 的相关知识面面俱到是不可能的,但我觉得已经给出了一个全图景,大家只要围绕这个做,达到目标应该是不成问题的。我想说的还是一直提倡的:Just do it,在实践中不断成长。

此外,有几点需要特别提醒一下:

  • 如果学编程平时不用(无论什么原因,表现出来就是经常不用),或者想通过不具体使用而只学习其中的思想,我建议还是不要学得好。因为我很担心那样学到的全是 “司机的知识”:停留在表面,说起来侃侃而谈,以为自己懂了。当然,如果你的目的就是如此,那没问题了。
  • 计算机领域知识是非常庞杂的,一个完整的系统即使每个地方只涉及一点点,总共加起来的知识量也不小。所以如果不是以此为业的话,建议时刻以 “完成任务” 为指导方针,缺哪块就补哪块,开始时会用就行,不要陷到某个小点上太久出不来。

  • 正是因为上一点,刚开始的新人必定会遇到各种各样的 bug,这也是我们建议使用 Jupyter Notebook 作为第一步入门的原因。但后面的复杂任务或者项目再用这个肯定就不合适了,遇到 bug 要始终保持一个信念:“只要是 bug 就一定能 de 掉”。你只有信念不倒,才会有很强的动力分析问题、寻找解决策略,否则很快就烦了。而且更让你闹心的是,很多 bug 完全不是 Python 相关的,可能是数据库、缓存、接口通信、甚至操作系统等等方面的问题。

最后,推荐一些资源,前三个现在看应该没啥问题,后三个可能会有些难度,可以作为进阶资料。资料这个东西不一定非要一次从头到尾看完(那样肯定会累死,而且累死也看不完),挑自己感兴趣或者有问题的地方看就可以了。希望每个人都能得偿所愿。

作者本人经验尚浅,远谈不上精通。如果有不合理的地方还请多多指正,我们互相学习。

附录:作业

第一章:请配置好环境自由探索。难度 ☆

第二章:请用几种不同的编程方式实现一个独立完整的小功能。难度 ☆☆

第三章:请在 PyPI test 上提交一个自己的包并能在本地安装。难度 ☆☆☆

第四章:请在已提供的代码基础上实现一个其他功能或重新改写成一个自己的业务需求。难度 ☆☆☆☆

第五章:请阅读一份自己感兴趣的项目源代码并通过讲解或笔记输出。难度 ☆☆☆☆☆

第六章:请整理总结自己所学并切实做好未来规划。难度 ☆☆