学Python该看什么书?所有方向的精华好书推荐,18年老程序员倾囊相授!
寫這篇文章的原因是我最近這段時間收到了不下10個粉絲問我關(guān)于Python買什么書,尤其是看到有個別粉絲居然買了這本《Python編程實踐》作為新手的入門Python的書籍,看到之后我不禁咋舌…
不是說這本書很垃圾,這本書我也看過,書不是很厚,幾天就能看完,講的都是一些很基礎(chǔ)的知識,而且有些地方很跳躍,并沒有講清楚,我是覺得有這個錢,你大可去買質(zhì)量更高、更適合的書籍來看,收獲絕不比這本少。
工作了18年,我自己也是看了200多本技術(shù)書籍,現(xiàn)在家里的書房收藏的還有五十多本我個人比較喜歡的書籍,時不時會拿來翻閱,看書已成為了我這些年來一直保持的一個習(xí)慣。
為了讓更多想通過看書來學(xué)習(xí)Python的人能夠把錢花在刀刃上,我總結(jié)了Python目前所有熱門方向上我個人覺得性價比很高、值得一看的書籍,今天來分享給大家,其中的一些精華書籍甚至不比目前市面上收費課程差。
一、Python新手入門
新手學(xué)Python的話我推薦這本《Python編程從入門到實踐》,這是一本非常小白的書籍,內(nèi)容友好,沒有深奧晦澀的知識點,講解到位,能夠讓小白快速了解Python,享受編程帶來的信心和興趣。
本書分為兩個部分:基礎(chǔ)知識和項目實戰(zhàn),先是對Python基礎(chǔ)知識循序漸進地學(xué)習(xí),再通過一個個優(yōu)質(zhì)項目的實戰(zhàn)訓(xùn)練,培養(yǎng)自己的編程思維,分析問題的技巧和角度,絕對受益匪淺。
這本書是基于Python 3 講的,這本書作為入門書籍是沒有任何問題的,Python的常見應(yīng)用領(lǐng)域也有包含,學(xué)完基礎(chǔ)之后如果你還想擴展到某一個具體的應(yīng)用領(lǐng)域,然后你再去找那具體應(yīng)用領(lǐng)域的書。
二、網(wǎng)絡(luò)爬蟲方向
(1)《Python編程快速上手 第二版》
如果你是零基礎(chǔ)的小白或者基礎(chǔ)比較弱的新手,想往爬蟲方向?qū)W習(xí),我推薦《Python編程快速上手 第二版》這本書。
這本書主要講的是Python基礎(chǔ)入門、網(wǎng)絡(luò)爬蟲以及自動化辦公(Excel/word/PDF)這三個方面,很適合新手小白走網(wǎng)絡(luò)爬蟲這個方向,因為網(wǎng)絡(luò)爬蟲它不僅僅是前端的數(shù)據(jù)抓取,后面的數(shù)據(jù)儲存和處理也是一塊重心,不然你爬下來一大堆亂糟糟的數(shù)據(jù),你看著也會頭皮發(fā)麻,所以自動化辦公這個板塊的加入可以讓網(wǎng)絡(luò)爬蟲如虎添翼。
這本書比較講究學(xué)以致用,每章的末尾還提供了一些習(xí)題和深入的實踐項目,幫助讀者鞏固所學(xué)的知識。附錄部分提供了所有習(xí)題的解答,可以說是往爬蟲方面學(xué)習(xí)不可多得的佳作。
(2)《Python網(wǎng)絡(luò)數(shù)據(jù)采集》
如果你是有Python基礎(chǔ)的學(xué)習(xí)者想往爬蟲方向發(fā)展,那么可以去看看《Python網(wǎng)絡(luò)數(shù)據(jù)采集》這本書。
這本書就是專門講網(wǎng)絡(luò)爬蟲,上來就是直奔主題,因此它并不適合零基礎(chǔ)或者基礎(chǔ)薄弱的新手,反倒是比較適合學(xué)過Python的人去讀,它會給你省去很多的時間和精力,而且它也不厚,就200頁左右。這本實用書的擴展版不僅介紹了網(wǎng)絡(luò)抓取,而且作為一個全面的指南,可以從現(xiàn)代網(wǎng)絡(luò)上抓取幾乎所有類型的數(shù)據(jù)。
三、數(shù)據(jù)分析方向
(1)《利用Python進行數(shù)據(jù)分析》
在數(shù)據(jù)分析方向上,如果你有Python基礎(chǔ)的話,我推薦《利用Python進行數(shù)據(jù)分析》這本。
接觸過數(shù)據(jù)分析的人都知道我們常用的Pandas,這本書剛好就是Pandas項目創(chuàng)始人親筆寫的,里面詳細介紹利用Python進行操作、處理、清洗和規(guī)整數(shù)據(jù)等方面的具體細節(jié)和基本要點,涵蓋了pandas、NumPy、IPython和Jupyter,并增加大量實際案例,可以幫助你高效解決一系列數(shù)據(jù)分析問題。
去年我在讀這個本書的第二版時,感受到了它的增強,但美中不足的點就是這本書的第二版在翻譯時有一些錯誤,比起第一版差了一些,不知道現(xiàn)在有沒有出現(xiàn)修訂版的,如果有能力的話建議去讀英文版的,因為這本書在數(shù)據(jù)分析方面確實很強。
(2)《Python數(shù)據(jù)分析基礎(chǔ)教程》
如果你是Python零基礎(chǔ)或者基礎(chǔ)薄弱的小白,可以從這本《Python數(shù)據(jù)分析基礎(chǔ)教程》看起。
這是去年由人民出版社出的一本書,它在前面給讀者們講了很多的Python的基礎(chǔ)和數(shù)據(jù)入門,對新手來說很友好,而且同樣也是搭配著章節(jié)的項目練習(xí);到這文章的重點部分,著重地介紹了NumPy、Matplotlib、Pandas、機器學(xué)習(xí)庫scikit-learn的具體操作,更有著幾個不錯的真實項目實戰(zhàn)。
可以說是零基礎(chǔ)到精通數(shù)據(jù)分析不可多得的一本好書,但有基礎(chǔ)的人適不適合看這本書呢?當(dāng)然沒必要去看它,可以去看它的第二版,直接從NumPy開始講,會節(jié)省很多時間。
四、前端開發(fā)方向
對于前端必不可少的HTML、CSS 這兩塊,我個人覺得不需要去看書的,兩塊新增的點實在是快且多,光看哪一本書有可能你剛學(xué)會不久就得棄用學(xué)新的技術(shù)點,一般的話掌握基礎(chǔ)就可以了,基礎(chǔ)的話在網(wǎng)上有很多資源可以學(xué)習(xí),比如菜鳥教程等等。
除了HTML、CSS之外,前端涉及的點還有很多,比如AJAX等等,但必不可少的就是我們JS了,關(guān)于JS我個人必須得推薦一本業(yè)內(nèi)口碑最好的的紅寶書了。
(1)《JavaScript高級程序設(shè)計(第4版)》
這本《JavaScript高級程序設(shè)計》又稱為紅寶書,這本書比起犀牛書《JavaScript權(quán)威指南》對于新手來說更友好,犀牛書更像是一本字典式的書籍,有點枯燥難理解,但紅寶書就來得更為平緩和通俗易懂,由淺入深地帶你理解JS。
紅寶書也出了第4版,里面同樣也是增加了不少東西,比如對移動端檢測,還有富文本編輯器,還有html5等等,它或許不是一個速成的書籍,但它一定能給予你全面的JS知識沉淀。
這本書比較厚,八百多頁,涉及面也比較廣,看完需要較長的時間,但看完了不等于完了,它是一本很適合收藏起來反復(fù)翻看的書籍。
五、后端開發(fā)方向
(1)《圖解HTTP》
不少做網(wǎng)站設(shè)計的人并沒有真正地懂HTTP,這里推薦一本《圖解HTTP》書籍,這本書不止可以了解HTTP協(xié)議,最有趣的是可以在書的后半部分看到HTTP協(xié)議如何基于無狀態(tài)的簡單協(xié)議,解決新的交互方式帶來的技術(shù)挑戰(zhàn)。
這本書適合Web開發(fā)工程師,包括前端和后端,以及對HTTP協(xié)議感興趣的各層次讀者,它不僅通俗易懂,連產(chǎn)品經(jīng)理都能讀懂,而且容易看完,也就300多頁。
(2)數(shù)據(jù)庫書籍
數(shù)據(jù)庫書籍我推薦兩本很經(jīng)典且好用的書籍,一本是《SQL必知必會》,另一本是《高性能MySQL》,這兩本書大家可以二選一去閱讀,根據(jù)你的興趣或者工作需要去選擇相對應(yīng)的書籍閱讀,如果你現(xiàn)在不知道的話,那么我覺得你可以去讀一下《高性能MySQL》這一本,MySQL是當(dāng)下比較火的數(shù)據(jù)庫,而且《高性能MySQL》這本書確實也是數(shù)據(jù)庫社群的經(jīng)典之作,涵蓋了所有的知識點,不管是DBA還是前后端開發(fā)者,我覺得它都是值得反復(fù)學(xué)習(xí)的一本書。
這兩本書籍都是面向有基礎(chǔ)的人去看的,如果你基礎(chǔ)還不好的話,那么先去學(xué)學(xué)Python基礎(chǔ)再來看吧。
粉絲福利,點擊可查看
六、自動化測試方向
(1)《Selenium3自動化測試實戰(zhàn)——基于Python語言》
這本書面向的是零基礎(chǔ)的學(xué)習(xí)者,書籍前面對Python的知識做了很多的講解,之前我讀的時候還是第二版,這本書對沒接觸過自動化測試領(lǐng)域的人還是很友好的,講selenium的部分有點少,講自動化概念的地方有點多,但作為入門書籍還是不錯的,現(xiàn)在的話已經(jīng)出了第三版了。
(2)《pytest測試實戰(zhàn)》
對于有測試經(jīng)驗或者有Python基礎(chǔ)的開發(fā)者而言,《pytest測試實戰(zhàn)》這本書就很合適了。
《pytest測試實戰(zhàn)》我個人認為是測試工程師必讀的一本經(jīng)典好書,里面的測試實例很多,對pytest的使用方法尤其是具有特色的fixture的用法講解得很透徹,pytest作為業(yè)界最受歡迎的Python測試工具,失之交臂的話就太可惜了。
七、機器學(xué)習(xí)和人工智能方向
(1)《Python深度學(xué)習(xí)》
本書由Keras之父、現(xiàn)任Google人工智能研究員的弗朗索瓦?肖萊(Fran?ois Chollet)親筆所作,是大師之作,也是機器學(xué)習(xí)和人工智能領(lǐng)域口碑最好、不可多得的好書之一,內(nèi)容淺顯易懂,當(dāng)初我在讀這本書的時候還未曾接觸過機器學(xué)習(xí)這個領(lǐng)域,但自己在看這本書的時候依然是能夠看得懂,可以說是入門佳作。
全書基本圍繞著 Keras 講深度學(xué)習(xí)的各種實現(xiàn),從 CNN,RNN到GAN等等,總體偏入門,但也承載著很多作者對深度學(xué)習(xí)整體性的思考。值得一提的是作者推薦用GPU 跑書中的例子,這不是開玩笑, 用CPU 跑你會感到很絕望的。
(2)《統(tǒng)計學(xué)習(xí)方法(第2版)》
這本我必須得做個推薦了,是目前我們國內(nèi)少有的機器學(xué)習(xí)巔峰之作,由李航所作,比起周志華的西瓜書《機器學(xué)習(xí)》強太多了,西瓜書確實很枯燥,我也是沒看完就不知道放哪里了,反而是李航的這本《統(tǒng)計學(xué)習(xí)方法》我是反復(fù)看了很多遍。
書里關(guān)于機器學(xué)習(xí)的主流技術(shù)都有提及,而且精簡不啰嗦,沒有多余的圖表,從原理上給你整得明明白白的,輔以適當(dāng)?shù)睦?#xff0c;可以說是統(tǒng)計學(xué)習(xí)(機器學(xué)習(xí))教材經(jīng)典中的經(jīng)典,目前也是出了第二版。
八、其他方向進階
上面給大家介紹是我個人在Python各個方向的覺得不錯的書籍,如果你把你感興趣的方向的書籍看完之后,想要看一些進階書籍來提升自己的技術(shù)棧,那么可以從以下幾個方向的書籍,當(dāng)然這幾個方向已經(jīng)跳出了Python這個范圍。
(1)數(shù)據(jù)結(jié)構(gòu)與算法書籍
對于編程工作而言,除了語言的精通,最最重要的就是數(shù)據(jù)結(jié)構(gòu)與算法了。
這方面我給大家推薦《算法導(dǎo)論》這本書,這本書不適合初學(xué)者,因為這本書要求你有很強的數(shù)學(xué)功底以及比較深的數(shù)據(jù)結(jié)構(gòu)與算法的基礎(chǔ)底子。
相比較上一本書而言,《算法》這本書就比較好接受了,應(yīng)該適合絕大多數(shù)學(xué)數(shù)據(jù)結(jié)構(gòu)和算法的小伙伴們。這本書它基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)與算法都非常全面的涉及了,基本上就是可以成為你把數(shù)據(jù)結(jié)構(gòu)和算法學(xué)得不錯的一本書了。
沒有哪一本書你看完就能換個薪資更高的工作,但如果你好好看完它,你的思維會得到很大的開闊,也或許就是思維的提升,讓你在工作中能夠想到更好的辦法去解決問題
(2)計算機網(wǎng)絡(luò)書籍
雖然前面我們在后端的書籍中介紹了《圖解HTTP》這本書,但在計算機網(wǎng)絡(luò)方面,自然少不了TCP/IP。
我一直覺得《TCP/IP詳解》這本書是我看TCP/IP協(xié)議棧最好的一本書,雖然說這本書大家覺得很晦澀,太經(jīng)典了,所以是必須要推薦。當(dāng)然還有一本《計算機網(wǎng)絡(luò) 自頂向下》,縱觀所有計算機網(wǎng)絡(luò)方面的書籍,我覺得目前是沒有其他比它們倆更好的書籍了,那么可以從中二選一來看。
(3)Linux系統(tǒng)書籍
眾所周知,C語言開發(fā)很少在windows上做,基本上都是基于Linux操作系統(tǒng)在做,作為一名優(yōu)秀的程序員,對于Linux的了解是必不可少的。
首先給大家推薦鳥哥的《linux私房菜》,這本書主要講Linux操作系統(tǒng)的使用,因為就是主要還是命令,很適合當(dāng)工具書,如果你對里面的內(nèi)容基本都熟悉,那你一定能派上用場,不需要你記住細節(jié),但你要大致能知道哪個命令是干啥的,建議大家誦讀一遍。
《linux私房菜》講的還只是Linux操作系統(tǒng)的使用層面,但如果你想學(xué)會在Linux操作系統(tǒng)上編程,建議去看這本叫《Unix環(huán)境高級編程》,C語言學(xué)得再好,不會在Linux操作系統(tǒng)上編程實戰(zhàn),那么也只是一個玩具而已。
《Unix環(huán)境高級編程》會講很多實戰(zhàn)方面的內(nèi)容,比如文件IO、多線程編程、網(wǎng)絡(luò)、套接字等等,非常實用和經(jīng)典。
(3)代碼質(zhì)量書籍
最后給大家推薦一下代碼質(zhì)量方面的書,也是我對我影響最大的一本書,從中收獲了很多的心得和技能,《重構(gòu) 改善既有代碼的設(shè)計》,這本書講的就是最佳實戰(zhàn),當(dāng)然你需要有一定的編程基礎(chǔ)。
結(jié)語
這些書籍都是我在工作的時候才開始讀的,那時候讀書我就有一種遺憾,遺憾自己沒有在讀書的時候多看幾本,尤其是大學(xué)時候圖書館那個偌大的寶庫還是免費的。
這是我目前讀過的書籍當(dāng)中關(guān)于Python方面以及編程方面,我個人覺得很不錯的書籍,雖然我讀的技術(shù)書籍不算少,但每個人在讀書時所處的技術(shù)水平是不一樣的,所以對于書籍的理解和評判也是不一樣的,但并不影響我們回首對走過的路和讀過的書,我們都是為了給后面的人留下一些更好的參考。
借用著名作家冰心的一句話與大家共勉:讀書好,多讀書,讀好書。
關(guān)于Python或者編程語言的一些好書籍,除了上面的,你們還讀過哪些呢?歡迎在評論區(qū)留言交流!
總結(jié)
以上是生活随笔為你收集整理的学Python该看什么书?所有方向的精华好书推荐,18年老程序员倾囊相授!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Renix软件如何建立OSPF邻居——网
- 下一篇: 浅谈斜率优化dp