不容错过的成长之旅
受父亲影响,5 岁的埃里克·马瑟斯开始编写自己的第一个程序—— 一个简单的猜数字游戏。从孩童时期开始,编程带给马瑟斯的满足感一直影响至今。30 岁时,作为 Python 爱好者,他开始在技术社区中义务教授 Python。源于对 Python 的好奇心,他的儿子 Ever 每天不断提问,这才驱使他有了写作本书的想法。所以,与其说它是一本书,倒不如说它是对父子两代人编程初心的传承。
英文书名进一步阐述了本书的意图,Python Crash Course: A Hands-On, Project-Based Introduction to Programming 直译过来的意思是“Python 速成教程:动手操作、基于项目的编程入门”。从书名来看,它并不是真正意义上的教材。与大学计算机系的正统编程语言教材相比,它最大的不同点在于:
▲ 实践为主(hands-on)
▲ 项目为纲(project-based)
如今,随着互联网产业的高速发展,在网络上早已积累了极其丰富的 Python 学习资料,任何人都可以基于这些资源,自学掌握 Python。但实际上,网络上充斥的资源太多、太杂且不成体系,在没有足够的编程/工程经验之前,仅靠“看”线上资源自学,的确是一件非常困难的事。
当年,大妈自己光是开发第一个实用工具(一个不超过 50 行代码的项目),就前后用了将近半年的时间才得以成功。之所以耗时这么久,原因在于:
▲ 官方文档/教程过大、过全,学习曲线陡峭,更适合有经验的软件工程师;
▲ 面向初学者的教程只讲基础语法,并没有关于项目的实践引导。
20 多年过去了,市面上一直不乏各种教授“零基础入门 Python”的图书,但至今只有两本摸到了门径。一本是《笨办法学 Python》,通过极其精练的针对性练习,帮助小白突破对编程的恐惧,但遗憾的是,它并没有包含如何完成实用工程的内容。另外一本,就是这本“Python 蟒蛇书”。得益于中学老师的身份,作者平时接触的都是非计算机专业的学生。他结合自己的教学经历,撰写了这本从零开始快速上手 Python 的好书。更令人兴奋的是,为了拥抱 Python 技术生态的变化,作者及时增补了第 2 版,替换和追加了很多常用模块/框架/工具的介绍,整体上更贴近实际开发环境。不过,从大妈的经验来看,完全无基础的读者最好别从第 1 章开始学习,否则在第一部分就会耗尽所有热情。
这里,我建议大家:
▲ 第一部分尽可能在 42 小时内快速浏览一遍,不用理解,先混个眼熟;
▲ 第二部分跟着项目实践精读,对应查阅第一部分的基础知识点,针对性地自我答疑。
这样,你就能从枯燥的语法、控制结构、数据结构等无穷的编程概念中挣脱出来,进入一个个具体真实的项目场景中,一切将变得异常清晰、有目标且可检验。当然,最好还是能找到一起学习的小伙伴,无论是线下共读,还是线上远程协同。总之,大家一起折腾,阅读和学习才可能事半功倍。
最后,我想说,Python 是否值得学,已经不再是值得怀疑的问题了(特别是在人类于 2018 年用 Python 合成首张黑洞照片之后)。但是,如何能高效学会 Python,永远是个值得思考的重要问题。
这个问题的答案,是绕不开本书的。
大妈/ZoomQuiet,CPyUG 联合创始人、蟒营®创始人