Think Python,第 3 版
新版第 3 版 *Think Python* 因其易于入门、以计算机科学为导向的编程教学而获得赞誉,许多人认为它曾帮助他们开启或改变了职业道路。评论者强调它转向 Jupyter 笔记本、内嵌可视化工具,以及更重视问题解决而非单纯语法的教学法,并将其与更偏重语言本身的入门书如 *Python Crash Course* 作对比。讨论还延伸到后续 Python 与类型系统资源推荐、教学与学习路径的反思,以及 Python 是否适合更高级的、以并发为中心的系统的简短辩论。
整体反响与影响
- 许多评论者都很热情;据说早期版本曾“改变”了多个人的职业轨迹,并帮助一些人终于“真正理解”了编程或 OOP。
- 几位读者把它描述为自己的第一本严肃编程资源,即使后来转向其他语言,它仍然是基础性的。
- 也有一些读者怀念自己在 10–15 年前用早期版本学习的时光。
教学法与与其他书的定位对比
- 常见观点是:这本书教的是“如何像程序员/计算机科学家一样思考,同时使用 Python”,而不只是 Python 语法。
- 它常被拿来与 “Python Crash Course” 对比,后者被认为更侧重于快速学习这门语言本身;有些人认为 Think Python 是更好的第一推荐,也有人把它们视为互补。
- 有评论者担心第 3 版看起来“被简化了”;也有人反驳说,内容似乎大体保留,只是更新了习题和文字表述。
Jupyter / 基于笔记本的版本
- 大家对 Jupyter/Colab 的方式以及内嵌的 turtle 图形表现出很强的热情。
- 这种方式被认为与当前教育和数据科学中的实践相契合,也很可能让学习更具互动性。
- 有人对如何在笔记本中高效调试很感兴趣;但没有明确一致的答案。
在教学中的使用
- 多位教师表示,他们在大学入门课程中使用第 2 版,而且学生反馈一直很好。
- 即使只是作为计划教授社区课/创客风格课程的人所需的“软课程大纲”素材,它也被认为很有用。
支持与获取这本书
- 当前的印刷版在多个地区仍处于预售状态。
- 几位评论者提到,通过出版商网站捐款,可能比通过大型零售商购买更直接地支持这项工作。
中高级 Python 与类型系统资源
- 对于高级 Python:推荐包括 Fluent Python、Effective Python、Serious Python、Practices of the Python Pro、偏惯用法的指南、stdlib 文档,以及阅读真实世界代码。
- 对于类型系统和强类型语言:有很多建议,包括关于 TypeScript、F#、领域建模以及经典 PL/类型系统文本的书籍;也有人讨论这些内容对初学者是否太难,以及是否应该先从有类型语言中的实践开始。
并发与语言适用性
- 一个分支讨论了如何在 Python 中构建类似 Erlang/Elixir 的并发系统。
- 建议从 asyncio、gevent、multiprocessing、Celery 和 RabbitMQ 入手,也有人认为应该接受 Python 可能并不适合高度并发、容错的 actor 风格系统。
- 对 Python 并发模型感到沮丧的人,与认为这种批评偏离重点的人之间存在一定张力。