学Python该看什么书?所有方向的精华好书推荐,18年老程序员倾囊相授!

Posted 退休的龙叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学Python该看什么书?所有方向的精华好书推荐,18年老程序员倾囊相授!相关的知识,希望对你有一定的参考价值。

写这篇文章的原因是我最近这段时间收到了不下10个粉丝问我关于Python买什么书,尤其是看到有个别粉丝居然买了这本《Python编程实践》作为新手的入门Python的书籍,看到之后我不禁咋舌…

在这里插入图片描述

不是说这本书很垃圾,这本书我也看过,书不是很厚,几天就能看完,讲的都是一些很基础的知识,而且有些地方很跳跃,并没有讲清楚,我是觉得有这个钱,你大可去买质量更高、更适合的书籍来看,收获绝不比这本少。

工作了18年,我自己也是看了200多本技术书籍,现在家里的书房收藏的还有五十多本我个人比较喜欢的书籍,时不时会拿来翻阅,看书已成为了我这些年来一直保持的一个习惯。

为了让更多想通过看书来学习Python的人能够把钱花在刀刃上,我总结了Python目前所有热门方向上我个人觉得性价比很高、值得一看的书籍,今天来分享给大家,其中的一些精华书籍甚至不比目前市面上收费课程差。


一、Python新手入门

在这里插入图片描述

新手学Python的话我推荐这本《Python编程从入门到实践》,这是一本非常小白的书籍,内容友好,没有深奥晦涩的知识点,讲解到位,能够让小白快速了解Python,享受编程带来的信心和兴趣。

本书分为两个部分:基础知识和项目实战,先是对Python基础知识循序渐进地学习,再通过一个个优质项目的实战训练,培养自己的编程思维,分析问题的技巧和角度,绝对受益匪浅。

这本书是基于Python 3 讲的,这本书作为入门书籍是没有任何问题的,Python的常见应用领域也有包含,学完基础之后如果你还想扩展到某一个具体的应用领域,然后你再去找那具体应用领域的书。


二、网络爬虫方向

(1)《Python编程快速上手 第二版》

在这里插入图片描述

如果你是零基础的小白或者基础比较弱的新手,想往爬虫方向学习,我推荐《Python编程快速上手 第二版》这本书

这本书主要讲的是Python基础入门、网络爬虫以及自动化办公(Excel/word/PDF)这三个方面,很适合新手小白走网络爬虫这个方向,因为网络爬虫它不仅仅是前端的数据抓取,后面的数据储存和处理也是一块重心,不然你爬下来一大堆乱糟糟的数据,你看着也会头皮发麻,所以自动化办公这个板块的加入可以让网络爬虫如虎添翼。

这本书比较讲究学以致用,每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答,可以说是往爬虫方面学习不可多得的佳作。

(2)《Python网络数据采集》

在这里插入图片描述

如果你是有Python基础的学习者想往爬虫方向发展,那么可以去看看《Python网络数据采集》这本书。

这本书就是专门讲网络爬虫,上来就是直奔主题,因此它并不适合零基础或者基础薄弱的新手,反倒是比较适合学过Python的人去读,它会给你省去很多的时间和精力,而且它也不厚,就200页左右。这本实用书的扩展版不仅介绍了网络抓取,而且作为一个全面的指南,可以从现代网络上抓取几乎所有类型的数据。


三、数据分析方向

(1)《利用Python进行数据分析》

在这里插入图片描述

在数据分析方向上,如果你有Python基础的话,我推荐《利用Python进行数据分析》这本。

接触过数据分析的人都知道我们常用的Pandas,这本书刚好就是Pandas项目创始人亲笔写的,里面详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点,涵盖了pandas、NumPy、IPython和Jupyter,并增加大量实际案例,可以帮助你高效解决一系列数据分析问题。

去年我在读这个本书的第二版时,感受到了它的增强,但美中不足的点就是这本书的第二版在翻译时有一些错误,比起第一版差了一些,不知道现在有没有出现修订版的,如果有能力的话建议去读英文版的,因为这本书在数据分析方面确实很强。

(2)《Python数据分析基础教程》

在这里插入图片描述

如果你是Python零基础或者基础薄弱的小白,可以从这本《Python数据分析基础教程》看起。

这是去年由人民出版社出的一本书,它在前面给读者们讲了很多的Python的基础和数据入门,对新手来说很友好,而且同样也是搭配着章节的项目练习;到这文章的重点部分,着重地介绍了NumPy、Matplotlib、Pandas、机器学习库scikit-learn的具体操作,更有着几个不错的真实项目实战。

可以说是零基础到精通数据分析不可多得的一本好书,但有基础的人适不适合看这本书呢?当然没必要去看它,可以去看它的第二版,直接从NumPy开始讲,会节省很多时间。


四、前端开发方向

对于前端必不可少的html、CSS 这两块,我个人觉得不需要去看书的,两块新增的点实在是快且多,光看哪一本书有可能你刚学会不久就得弃用学新的技术点,一般的话掌握基础就可以了,基础的话在网上有很多资源可以学习,比如菜鸟教程等等。

除了HTML、CSS之外,前端涉及的点还有很多,比如AJAX等等,但必不可少的就是我们JS了,关于JS我个人必须得推荐一本业内口碑最好的的红宝书了。

(1)《javascript高级程序设计(第4版)》

在这里插入图片描述

这本《JavaScript高级程序设计》又称为红宝书,这本书比起犀牛书《JavaScript权威指南》对于新手来说更友好,犀牛书更像是一本字典式的书籍,有点枯燥难理解,但红宝书就来得更为平缓和通俗易懂,由浅入深地带你理解JS。

红宝书也出了第4版,里面同样也是增加了不少东西,比如对移动端检测,还有富文本编辑器,还有html5等等,它或许不是一个速成的书籍,但它一定能给予你全面的JS知识沉淀。

这本书比较厚,八百多页,涉及面也比较广,看完需要较长的时间,但看完了不等于完了,它是一本很适合收藏起来反复翻看的书籍。


五、后端开发方向

(1)《图解HTTP》

在这里插入图片描述

不少做网站设计的人并没有真正地懂HTTP,这里推荐一本《图解HTTP》书籍,这本书不止可以了解HTTP协议,最有趣的是可以在书的后半部分看到HTTP协议如何基于无状态的简单协议,解决新的交互方式带来的技术挑战。

这本书适合Web开发工程师,包括前端和后端,以及对HTTP协议感兴趣的各层次读者,它不仅通俗易懂,连产品经理都能读懂,而且容易看完,也就300多页。

(2)数据库书籍

数据库书籍我推荐两本很经典且好用的书籍,一本是《SQL必知必会》,另一本是《高性能mysql》,这两本书大家可以二选一去阅读,根据你的兴趣或者工作需要去选择相对应的书籍阅读,如果你现在不知道的话,那么我觉得你可以去读一下《高性能MySQL》这一本,MySQL是当下比较火的数据库,而且《高性能MySQL》这本书确实也是数据库社群的经典之作,涵盖了所有的知识点,不管是DBA还是前后端开发者,我觉得它都是值得反复学习的一本书。

在这里插入图片描述

这两本书籍都是面向有基础的人去看的,如果你基础还不好的话,那么先去学学Python基础再来看吧。


六、自动化测试方向

(1)《Selenium3自动化测试实战——基于Python语言》

在这里插入图片描述

这本书面向的是零基础的学习者,书籍前面对Python的知识做了很多的讲解,之前我读的时候还是第二版,这本书对没接触过自动化测试领域的人还是很友好的,讲selenium的部分有点少,讲自动化概念的地方有点多,但作为入门书籍还是不错的,现在的话已经出了第三版了。

(2)《pytest测试实战》

对于有测试经验或者有Python基础的开发者而言,《pytest测试实战》这本书就很合适了。

在这里插入图片描述

《pytest测试实战》我个人认为是测试工程师必读的一本经典好书,里面的测试实例很多,对pytest的使用方法尤其是具有特色的fixture的用法讲解得很透彻,pytest作为业界最受欢迎的Python测试工具,失之交臂的话就太可惜了。


七、机器学习和人工智能方向

(1)《Python深度学习》

本书由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)亲笔所作,是大师之作,也是机器学习和人工智能领域口碑最好、不可多得的好书之一,内容浅显易懂,当初我在读这本书的时候还未曾接触过机器学习这个领域,但自己在看这本书的时候依然是能够看得懂,可以说是入门佳作。

在这里插入图片描述

全书基本围绕着 Keras 讲深度学习的各种实现,从 CNN,RNN到GAN等等,总体偏入门,但也承载着很多作者对深度学习整体性的思考。值得一提的是作者推荐用GPU 跑书中的例子,这不是开玩笑, 用CPU 跑你会感到很绝望的。

(2)《统计学习方法(第2版)》

这本我必须得做个推荐了,是目前我们国内少有的机器学习巅峰之作,由李航所作,比起周志华的西瓜书《机器学习》强太多了,西瓜书确实很枯燥,我也是没看完就不知道放哪里了,反而是李航的这本《统计学习方法》我是反复看了很多遍。

在这里插入图片描述

书里关于机器学习的主流技术都有提及,而且精简不啰嗦,没有多余的图表,从原理上给你整得明明白白的,辅以适当的例子,可以说是统计学习(机器学习)教材经典中的经典,目前也是出了第二版。


八、其他方向进阶

上面给大家介绍是我个人在Python各个方向的觉得不错的书籍,如果你把你感兴趣的方向的书籍看完之后,想要看一些进阶书籍来提升自己的技术栈,那么可以从以下几个方向的书籍,当然这几个方向已经跳出了Python这个范围。

(1)数据结构与算法书籍

对于编程工作而言,除了语言的精通,最最重要的就是数据结构与算法了。

这方面我给大家推荐《算法导论》这本书,这本书不适合初学者,因为这本书要求你有很强的数学功底以及比较深的数据结构与算法的基础底子。
在这里插入图片描述

相比较上一本书而言,《算法》这本书就比较好接受了,应该适合绝大多数学数据结构和算法的小伙伴们。这本书它基础的数据结构与算法都非常全面的涉及了,基本上就是可以成为你把数据结构和算法学得不错的一本书了。
在这里插入图片描述

没有哪一本书你看完就能换个薪资更高的工作,但如果你好好看完它,你的思维会得到很大的开阔,也或许就是思维的提升,让你在工作中能够想到更好的办法去解决问题


(2)计算机网络书籍

虽然前面我们在后端的书籍中介绍了《图解HTTP》这本书,但在计算机网络方面,自然少不了TCP/IP。

我一直觉得《TCP/IP详解》这本书是我看TCP/IP协议栈最好的一本书,虽然说这本书大家觉得很晦涩,太经典了,所以是必须要推荐。当然还有一本《计算机网络 自顶向下》,纵观所有计算机网络方面的书籍,我觉得目前是没有其他比它们俩更好的书籍了,那么可以从中二选一来看。

图片


(3)Linux系统书籍

众所周知,C语言开发很少在windows上做,基本上都是基于Linux操作系统在做,作为一名优秀的程序员,对于Linux的了解是必不可少的。

首先给大家推荐鸟哥的《linux私房菜》,这本书主要讲Linux操作系统的使用,因为就是主要还是命令,很适合当工具书,如果你对里面的内容基本都熟悉,那你一定能派上用场,不需要你记住细节,但你要大致能知道哪个命令是干啥的,建议大家诵读一遍。
在这里插入图片描述

《linux私房菜》讲的还只是Linux操作系统的使用层面,但如果你想学会在Linux操作系统上编程,建议去看这本叫《Unix环境高级编程》,C语言学得再好,不会在Linux操作系统上编程实战,那么也只是一个玩具而已。

《Unix环境高级编程》会讲很多实战方面的内容,比如文件IO、多线程编程、网络、套接字等等,非常实用和经典。
在这里插入图片描述


(3)代码质量书籍

最后给大家推荐一下代码质量方面的书,也是我对我影响最大的一本书,从中收获了很多的心得和技能,《重构 改善既有代码的设计》,这本书讲的就是最佳实战,当然你需要有一定的编程基础。

在这里插入图片描述

结语

这些书籍都是我在工作的时候才开始读的,那时候读书我就有一种遗憾,遗憾自己没有在读书的时候多看几本,尤其是大学时候图书馆那个偌大的宝库还是免费的。

这是我目前读过的书籍当中关于Python方面以及编程方面,我个人觉得很不错的书籍,虽然我读的技术书籍不算少,但每个人在读书时所处的技术水平是不一样的,所以对于书籍的理解和评判也是不一样的,但并不影响我们回首对走过的路和读过的书,我们都是为了给后面的人留下一些更好的参考。

借用著名作家冰心的一句话与大家共勉:读书好,多读书,读好书。

关于Python或者编程语言的一些好书籍,除了上面的,你们还读过哪些呢?欢迎在评论区留言交流!

在这里插入图片描述

以上是关于学Python该看什么书?所有方向的精华好书推荐,18年老程序员倾囊相授!的主要内容,如果未能解决你的问题,请参考以下文章

数据百问系列:学习数据仓库该看什么书?

学Python数据分析看谁的书比较好

零基础学Java有哪些必看书?推荐这5本

数据分析这碗饭,该怎么吃?

Linux运维方向需要学些啥,之后可以从事哪些工作

指导下妹妹吧,想学软件测试都需要看哪些书?