Python書籍推薦
從2011年5月買了第一本《Python學習手冊(第四版)》開始,我閱讀過大量和Python有關的紙質書和開源圖書。為什麼要買書來看?我認為不外乎兩個原因:有趣和能學到東西。技術書肯定不會太有趣,那麼最重要的就是能學到東西。市面上Python相關的書相當多,但是有些內容陳舊或者不符合國情,經常能看到並非開發第一線的人寫或者翻譯的書,這些書顯然價值就要低一些;其次是同質化和向入門級別靠攏,市面上關於Python入門或者教授語法知識的書不少,而再深入一點的就很匱乏了。還有一點,現在為了提高書的銷量,書名都起的非常有破壞力,很吸引眼球,可是內容完全不夠書名的檔次。
不知道一些回答推薦書籍問題的人是怎麼想的,反正話說起來很廉價,又不用負責。但是會給看這些答案的人誤解,甚至要白白浪費大家的錢和閱讀時間,我非常樂於給「沒有幫助」。
知乎上已經有一些問題,也有很多人推薦。我沒有達到流暢的閱讀英文原版的能力,所以本文更接地氣一點,介紹的是中文書籍。本文將從如下三部分推薦技術書籍。
Python初學者
如果你之前一點程式設計經驗都沒有,先看如下兩本:
1.《簡明 Python 教程》, 英文名《A Byte of Python》,現在有Python 3的版本(Introduction ยท A Byte of Python)了 。最簡潔易懂的Python書了。
2.《"笨辦法"學Python》,英文名《Learn Python the Hard Way...》,個人感覺是Python書籍中看起來最輕鬆的,他的習題非常好,初學者一定要練練:好遺憾我初學的時候沒有看到它。
如果你有其他語言的基礎,初學Python首先的是要熟悉Python語法和語言的關鍵內容,推薦如下三本書(當然上面那有興趣也是可以作為過渡看一看的):
1.《Python學習手冊》。應該是對Python介紹最全面的書了,包含了絕大多數Python語言的關鍵內容。
2. 《Python核心程式設計(第二版)》。 需要注意,《Python核心程式設計(第二版)》是經典的Python指導書,出版於2008年,有很多內容已經不再適用現在的環境,所以以瞭解概念和原理為主。現在已經出版了一本《Python核心程式設計 第3版》,這是《Python核心程式設計 第一版》卷二的第三版。所以不要以為這是再版的《Python核心程式設計(第二版)》, 具體的內容可以檢視「正在預售的《Python核心程式設計》到底是不是第三版?」。
3. 《Python語言及其應用》。感謝
PS: 《Python基礎教程》。 有知友私信我,提到這本書,我之前看過一遍,覺得很一般就如實說了,想想覺得得對大家負責,這幾天特意翻了一遍。在這裡再嘮嘮,它雖然是一個經典的入門教程,寫作風格也相對輕鬆幽默,但是由於本書寫作於2010年,書中有大量內容已經過時,所以不推薦!
說到這裡,很傷心。因為現在大部分市面上見到的書都存在過時的問題。一是翻譯的書落地需要時間,另外一個是國內的網際網路技術環境發展並不比國外發展慢。甚至於我們在很多領域都要超前很多,很多外來的內容對我們來說本身就是過時的。而國內優秀的Python書籍又非常匱乏。
Python進階者
當你對Python有了一定了解,在實際的工作中用過一段時間,那麼就應該考慮進階相關的書籍了。進階推薦的書有如下幾本:
1. 《Python高階程式設計》。這本書副標題叫做「Best practices for designing, coding, and distributing your Python software」,其實感覺更適合這個名字。它是10年出版的,時間特蠻長了,但是我依然要首先推薦,因為這本書可以說對我影響非常大,以至於當時我讀了好幾遍,每次讀完都覺得有很大收穫,幫助我之後的Python之路少走了很多彎路。
2. 《Python高手之路》。本書的作者是開源專案OpenStack的PTL(專案技術負責人)之一的 Julien Danjou。我一直說,一定要看書及其技術評審的作者的經歷和經驗,這本書雖然只有2百多頁,但是本書對專案的結構設計,對模組和庫的管理,如何編寫文件,如何分發,以及如何通過虛擬環境對專案進行測試都有自己的見解。此外,本書還涉及了很多高階主題,如效能優化、外掛化結構的設計與架構、Python 3的支援策略等。值得一提的,本書的評審包含Python核心開發者Nick Coghlan、Doug Hellmann以及Victor Stinner等,所以書的作者是`圈內人`。
3. 《Python程式設計實戰:運用設計模式、併發和程式庫建立高質量程式》。這本書有Doug Hellmann作序。書中的設計模式、併發變成和擴充Python都是非常通用的技術,是難得深入講解如此深入的一本好書。
4. 《Python標準庫》。這本書是Doug Hellmann寫的,介紹Python 2標準庫的使用,最初是PYMOTW網站上的一系列文章,後來成書。現在作者已經出版了Python 3版本的《The Python Standard Library by Example》。這是學好Python的必經之路,如果英文不過關,買本書花一段時間好好看這些標準庫的使用方法,對於未來寫程式碼和閱讀開源專案以及其他同事寫的專案都有非常大的幫助。
5. 《Effective Python:編寫高質量Python程式碼的59個有效方法》。 這本書雖然不太知名,但是相信大部分開發者看完都會有所收穫,可以提高Python程式碼質量的。
6. 《Python Web開發實戰》。好吧,這是一個廣告!這是我寫的一本書,不說太多,有興趣的可以去看介紹,尤其是看作序和推薦的人都有誰就好了 ^.^
Python 3相關
Python 3是未來這毋庸置疑,市面上也有一些書以Python 3作為賣點。但是目前為止,我還沒有發現一本好的中文書籍。期待中...