大家好,我是赛博红兔。很多学习Python的朋友问我:“兔哥,有没有什么好书推荐啊?” 有的人是刚入门,不知道从哪儿开始学;有的是遇到问题,想找本工具书解决;还有人是学到一定程度了,想深入研究高级的应用。其实嘛,我自己也是看书加看视频自学Python的,所以今天《兔了个书》系列第一期节目,我就来给大家推荐几本我当年自学的时候几乎翻烂了的书。其实,这些都是非常经典的书了,从讲基础到实战还有工具书都有,不管你是零基础的小白,还是已经有一定经验,想要深入研究 Python的高手,包你都有好书看。在开始之前,记得动动小手指给我点个赞,关注一下,也欢迎在评论区留言,聊聊你怎么学习Python的?今天我会推荐6本书,咱们就按照从易到难的顺序一本一本来看。

- 书名: 《笨办法学Python(第3版)》英文: Learn Python the Hard Way (3rd Edition) 作者: [美] Zed A. Shaw
正所谓Python虐我千万遍,我待此书为初恋。如果你还没听过这本书,那就千万别被这个名字给骗了。所谓的“笨办法”不是说你们笨奥,是说它教学方式。我们有句老话叫“好记性不如烂笔头”,最笨的办法往往才是最有效的。为什么呢?因为很多初学者在刚开始学习编程时,经常会被各种抽象的原理、复杂的术语吓到。比如说我在学Python之前其实是有C语言的基础的,但是看到Python的那种特殊的语法和结构,比如很多地方都会用点号来调用方法或属性,还是会不习惯不理解为什么。那么这本入门书的思路就是:少点废话,多动手练。好比学游泳,你在岸上听教练讲一堆知识要领,不如直接被“哗”一下踹进水里来得实在,对吧?这本书的结构非常简单,一共有52道习题,覆盖了Python里最主要的基础知识。要你做的也很简单,从头到尾一字不差地“亲手抄写”每一段程序,然后让程序成功运行起来。特别适合对计算机了解不多,没有学过编程的朋友。你不完全理解你打的代码什么意思,没关系,主打的就是一个肌肉记忆,混的就是一个眼熟。哎,千万要牢记一定要“亲手抄写”代码,真的要忍住去复制粘贴的冲动!就像是练英语听力的时候,最有用的方法是默写一样。记住你最熟悉的,挑出你听不懂的。这本书的目的就是教会你编程新手所需的三个最重要的技能:读写、注重细节和发现不同。通过不断地抄写、纠错、调试,你会慢慢摸清用Python编程的思维。我到现在还常常想起当时大段大段抄写代码的场景,看着这些代码成功运行了,就好像是我自己写的一样。
接下,我给大伙介绍的是堪称Python教材的三剑客,大多数的人都会给你推荐这三本畅销书。它们本身也是从浅入深循序渐进的。我们先来看第一本。

- 书名: 《Python编程:从入门到实践(第2版)》英文: Python Crash Course (2nd Edition) 作者: [美] Eric Matthes
它还有个昵称叫“蟒蛇书”,因为它不光讲的是Python而且封面也是一条蛇。作者Eric Matthes原先是位高中老师,为了给学生编一套浅显易懂的教学资料,才写了这本书。所以你读着读着就会感到这种“老师范儿”扑面而来,讲得特别有耐心。有人把它称为“零基础党和转行党”的福音书,原因很简单:它属于“先学基础,再用项目加深理解”的教学模式,让你能尽快学到的基础知识创造一些有趣的小成果。可以看到这本书讲了Python基础知识部分:比如变量、列表、字典、条件语句、函数、类、文件操作。看过我的频道《和我一起玩Python》系列的朋友,应该知道这本书大概涵盖了我那个视频教学系列全部的初级语法和一部分的中阶语法。里面像是虚拟环境、作用域、闭包、装饰器这些还没有涉及到,大致是这个程度。这本书比较适合刚接触Python想要系统入门的小伙伴。会一点儿编程皮毛,但需要带着项目一起提高的学习者。说到实战项目,作者很贴心地设计了三个完整的项目,包括《外星人入侵》的小游戏、数据可视化绘制图形还有一个网页的设计和应用,这里还会涉及学习使用第三方的库和框架啊。我个人觉得,可能学完这些基础直接上这些项目有些挑战吧,还是先去leetcode之类的刷一些题或者补充一些数据结构的知识先比较顺,当然这要按每个人的情况而定。怎么去学这本书呢:你可以先通读基础知识的部分,每天安排个小目标,比如一天学两三个知识点,然后动手试着做一下附带的练习。这本书重点在基础+项目。那如果你对自动化脚本感兴趣,想更快‘用起来’,可以看看下一本。

- 书名: 《Python编程快速上手——让繁琐工作自动化(第2版)》英文: Automate the Boring Stuff with Python (2nd Edition) 作者: [美] Al Sweigart
三剑客里的老二就是这本:《Python编程快速上手——让繁琐工作自动化(第2版)》(英文名:Automate the Boring Stuff with Python (2nd Edition))。这本书的名字,一看就知道是为了像我们这种天天被Excel、文件名、网页爬虫折磨到想冲出去大喊“救命”的社畜/学生党啊。它会教你如何用Python来实现工作自动化,从而解放双手!你看它前面也会讲先带你过一遍Python的基础语法,就是速度要比上一本快很多,像是电视剧里的前情提要一样。之后就是重点正则表达式啊、读写文件啊、网络爬虫、文件转换啊等等等等,它包含一些我讲的《和我一起玩Python》系列的高阶语法内容了。它对语法的讲解没有特别的深,算是“够用就好”,核心在于教你玩转“自动化”。这本书就不适合完全没有编程基础的小白了,还是先回到上面两本书去。它比较适合办公室搬砖党,需要处理大量文件、整理数据的同学,或者被繁琐的文档工作折磨的上班族,讲究一个Python工作学习的实用主义——学了就能马上用。书里开始大量使用第三方库,比如pyautogui、requests、openpyxl等等,每个库都有自己的官方文档,你可以边练边查,熟能生巧。当然也可能会让一些想深入理解 Python核心功能的读者感到不过瘾。

- 书名: 《Python极客项目编程》英文: Python Playground 作者: [美] Mahesh Venkitachalam
接下来是“三剑客”里的最后一本,难度自然有所提升,绝对不适合当你的第一本 Python读物。它不会再教你任何的基础知识,也不会展示那些简单的项目,而是教你怎么用Python来解决各种现实的问题。Python是一种语言像是中文、英语,上手并不困难,但要真正落地解决现实中的复杂问题,就需要开放式思维和各领域的专业知识。但Python提供了一些很多的库很多的工具去协助解决问题。怎么去寻找实际问题的解决方案,这是成为专业程序员最重要的环节。书里包含一系列“有趣有用”的项目,像是音乐播放器、游戏制作、二维三维的图像设计,还有玩转硬件和控制器。这本书不是单纯给你代码,还会讲到背后涉及的一些科学原理或算法思路。它适合有中高阶编程基础对创意编程,或者想挑战更有技术含量、更多交叉学科内容的朋友。比方说,你想做一个小小的音乐可视化工具,或者想让自己家里的传感器数据“炫酷地”显示出来,那这本书就能给你不少灵感。这本书的作者Mahesh Venkitachalam是一名软件工程师兼电子极客,他在他的个人博客中经常分享基于Arduino、Raspberry Pi的创意项目。能看得出来,他写这本书,更多是想让大家体会到编程不止是写业务逻辑,它还可以跟各种硬件、科学原理碰撞出火花!在你读这本书的时候,会发现很多项目涉及到一些数学、物理或者硬件的知识。如果你在这块儿不熟悉,也别急,跟着作者的讲解慢慢消化。同时也可以去搜一些简单科普文章,帮你更快理解。我印象中读这本书最愉快的时候就是用Arduino板子做一系列的小应用,比如一支温度计、一次小的灯光秀还有一个带motion sensor的警报器。这些做好了还可以放在家里一直用,就觉得非常的有意思。

- 书名: 《Python Cookbook(第3版)》英文: Python Cookbook (3rd Edition) 作者: [美] David Beazley, Brian K. Jones
前面讲的三剑客主要是从基础出发再到应用中落地,我刚才也说了,可能会有一些有一定基础的朋友觉得对Python本身知识架构挖掘得不够尽兴。那么这本书就开始向更高阶的“内功修炼”领域迈进了。它的名字里虽然有个“Cookbook”菜谱的意思,但是它不是教你怎么做番茄炒蛋,而是更像一部工具书,通过一个个“食谱式”的短小案例,向你展示Python在各种场景下的最佳实践和高级技巧。如果你已经有一定的基础,想深入学习一些“Python大厨”们常用的做法,那么这本书就是你的“宝典”。书中分门别类地列举了各种常见问题的解决方案,比如字符串处理、数据结构操作、函数与迭代器、面向对象与元编程、并发编程、网络编程等等,就是,你可以根据需求哪里不懂点哪里。这本书适合的人不用多说,就是已经有一定Python基础的开发者,尤其是你在写项目或者工作中经常遇到技术难题,想找现成“解决方案范例”的人。最后讲讲我是怎么用这本书的。我把它当作一部字典,很少有人会把字典从A背到Z吧?如果你现在正愁着要做某个功能,可以先去相应章节找思路。可以把示例复制出来跑一下,然后再改改参数、加点新功能,验证它在自己的场景下能不能发挥效果。喜欢查手册型学习的人,对这种“速查”式的编排会很满意的。要注意的是,其实其他几本书也一样,大家要留意去看最新版本的,Python版本更新迭代很快,去学过时的知识就得不偿失了。

- 书名: 《Effective Python:如何写出更高质量的Python代码(第2版)》英文: Effective Python – 90 Specific Ways to Write Better Python (2nd Edition) 作者: [美] Brett Slatkin
今天最后的一本书其实就像是动漫里的番外篇,游戏里的DLC。其实啊,把之前那几本看完,你对Python语法已经掌握得八九不离十了。但差的就是最后那临门一脚——也就是它的精髓,Pythonic!也就是编写有Python风格的程序。我有一期视频讲过这个Pythonic风格,放在下面大家感兴趣可以去看看。我的《Python五分钟》系列也有很多灵感是来自这本书的。这本书按照一个个独立的条目来介绍如何写出更好的Python风格代码,共有90条小妙招,涵盖了Python编程的方方面面:从基本的Pythonic写法、数据结构与函数式编程技巧,到类与继承、并发与协程、类型注解、性能优化等高级话题。很多条目都基于作者自身或社区里的真实开发经历,总结出“哪些写法值得借鉴,哪些做法要当心”。比如,它会告诉你用列表推导式来替代繁琐的for循环,让代码更简洁易读。再比如,检查列表或字符串是否为空时,推荐直接用if not somelist而不是if len(somelist) == 0。更直观地反映了Python的设计哲学:“简单胜于复杂”。在看的时候,你可能会不断拍脑门:“哇,我之前怎么没想到这样做!”如果你已经熟悉Python语法,希望进一步打造出简洁、可维护、高质量的代码,这本书将非常适合你。它能帮你审视自己的日常写法,发现那些容易被忽略的优化点或潜在漏洞。和上面的Cookbook差不多,你可以一天或一周消化几条,就去回顾自己项目中的相关代码,看看有没有能改进的地方。建议做点笔记,或给自己写个“对照表”:列出书中的关键技巧,然后对比自己项目中的实际写法。随着项目迭代,你会发现这些“条目”既能避免翻车,又能优化结构。我自己也做过这本书的摘要,稍后我会放到专栏还有博客里,给有需要的朋友们。
好了,这就是我今天要安利给大家的六本Python好书! 说到底,学编程最重要的就是多敲、多试、多撞墙。记得多来我频道逛逛,我的视频里也有很多Python的实战教程,希望能帮你们少走点弯路。如果觉得这期视频对你有点帮助,别忘了点赞、关注,顺手分享给你身边也想学Python的朋友。我是赛博红兔,我们下期再见啦!

Leave a comment