如果只推薦一本 Python 書,我要 Pick 它!

2021-01-10 紙鶴視界

今年二月初,我偶然看到了一條推特:

《流暢的Python》一書的作者發布了一條激動人心的消息:他正在寫作第二版!

如果要票選最佳的 Python 進階類書目,這本書肯定會是得票率最高的書籍之一。我在最早寫「Python貓薦書系列」時,就想推薦它,但又覺得好東西應該留到最後,所以一直拖到了現在……

如果你讀過它,肯定也會認為它值得推薦;如果你沒有,那請往下閱讀,看我的介紹能否打動你把它列為必讀書目吧~

這本書的英文名是《Fluent Python》,在 2015 年 8 月出版。兩年後,國內的圖靈教育出品了譯本,出版時間是 2017 年 5 月,獲得豆瓣 9.4 高分。(圖書翻譯/出版真是個漫長的過程啊)

作者 Luciano Ramalho 是個巴西人、資深的 Python 程式設計師/演講者、PSF(Python軟體基金會)成員。書籍的技術審校與推薦人囊括了圈內的一眾大咖。

此書一出,大受圈內好評,各國出版社紛紛引進版權,目前至少已有 9 種語言版本(來數數你認識幾種?):

PS:圖片出自@fluentpython官推,簡體中文版最薄,巧合佔據C位。根據圖靈教育統計,簡體中文版銷量超過4萬冊,預計在2020年能超越英文版的銷量。

那麼,這本書到底寫了些什麼呢?又有哪些特別之處呢?

全書內容充實,除去前言、附錄和術語表這些內容,共分為六個部分 21 章節。我將核心章節內容製作了一份思維導圖:

(在Python貓公眾號回復『流暢』,有完整的高清原圖)

以上是主要章節的思維導圖,圖中的數字是摺疊起來的分支數。

下面給大家看看部分的細節圖:

原圖太大,展示不下。在Python貓公眾號內回復『流暢』,有完整的高清原圖、PDF 版本和 MarkDown 版本

從章節上可以看出,這本書主要面向中高級的開發者。它基本不涉及入門級內容,反而聚焦在數據模型、數據結構、函數對象、面向對象、控制流程與元編程等話題上。

打開書本第一章,作者用寥寥十幾行 Python 代碼,就徒手實現了一副撲克牌:

import collectionsCard = collections.namedtuple('Card', ['rank', 'suit'])class FrenchDeck: ranks = [str(n) for n in range(2, 11)] + list('JQKA') suits = 'spades diamonds clubs hearts'.split() def __init__(self): self._cards = [Card(rank, suit) for suit in self.suits for rank in self.ranks] def __len__(self): return len(self._cards) def __getitem__(self, position): return self._cards[position]然後,直接就點出了全書最關注的核心話題:由各種特殊方法構成的數據模型。

特殊方法(special method)是__xxx__() 這種以前後雙下劃線命名的東西,通常又被稱為魔術方法(magic method)和雙下方法(dunder method),是 Python 獨有的設計。

數據模型(data model)無疑是 Python 語言的關鍵核心,是得以形成所謂 Python 風格(pythonic)的基石。Python 中一切皆對象,而數據模型則是這些對象的接口規範,正是因為它,Python 得以獲得極強的行為一致性。

《流暢的Python》以數據模型為始,定下了全文的風格基調,即關注 Python 對象的構造以及語言內部的特性細節,目的是讓讀者寫出更地道、簡潔高效、可讀易用的代碼。

《流暢的Python》作者與中文版合影

接著,它介紹了 Python 中一些內置類型的特性(序列類型、映射類型、文本和字節類型),介紹作為特殊對象的函數以及一般性對象的用法,介紹控制流程(迭代器、生成器、上下文管理器、協程和並發編程),最後深入到素有黑魔法之稱的元編程(描述符和元類)。

全書 600 多頁,洋洋灑灑,旁徵博引,內容充實到讓人應接不暇,讓人時不時就產生一種「又學到了新知識」的感覺,以及一種「哦我想進一步學習 xxx」的求知慾望。

很多讀過書的同學會有一個同感:它的「延伸閱讀/雜談」並不是閒筆,反而有些內容比正文更精彩,作者在此展示了他豐富的知識面(官方文檔、社區典故、語法演進、文章視頻、開源項目、語言差異等等),每一章都值得挖掘閱讀。目前沒有任何一本 Python 書籍能在這方面與它匹敵。

我推薦大家找到自己感興趣的章節進行閱讀,另外,有人做了非常不錯的讀書筆記(都挺長的),我放在這裡:

http://www.hongweipeng.com/index.php/archives/1345 (by hongweipeng)http://frankorz.com/2017/07/01/fluent-python-note (by 貓冬)

《流暢的Python》第一版基於當時最新的 Python 3.4。這些年來,Python 不斷豐富自己,既正式宣告了 Python 2 版本的終結,又快速地演進到了最新的 3.9 版本。

但是,由於作者關注的是 Python 的核心概念,探討的是基本不會變化的特性,因此倒不必太擔憂內容過時,它仍是一本非常推薦購買和閱讀參考的書籍。

我非常關心它的第二版,但是也知道,寫作需要時間,英文出版、中文翻譯和中文出版也都需要時間,所以我們就一起靜候佳音吧。

相關焦點

  • 一本Python入門書暢銷四年,知乎、豆瓣都推薦它
    市場上關於Python的書可謂是層出不窮,但如果是出版幾年還屹立在榜單之上的可以掰著手指頭數。《Python編程快速上手 讓繁瑣工作自動化》就是這樣一本Python入門書,大多程式設計師入門學習的選擇。從2016年7月出版至今已經四年,角逐在眾多新品Python中,但依舊可以很華麗的轉身到榜單之上,媲美於眾多產品之上。豆瓣評分9.0,評論746。
  • Python科學計算入門書籍推薦
    話說回來,這近些日子,隨著機器學習的熱潮,python也算是程序界的蒂花之秀了,幾乎到處都能看到它的聲影。算下來,我也有「幾乎4年」的python開發時間了,期間還使用python來參加全國研究生數學建模比賽並連續兩年拿到了國二。都說python入門簡單,網上也有很多學習資源。但是大多數都比較亂,沒有一個明確的順序和方向。
  • 十六本python入門學習書籍推薦,python入門新手必看
    《Python入門經典:以解決計算問題為導向的Python編程實踐》是一本系統而科學的Python入門教程,美國密西根州立大學等多所美國知名高校採用其作為程式語言的入門教材,被奉為經典。它不僅從計算機教學和計算機科學的角度講解了初學者如何才能更有效地去學習Python,而且特別強調用Python解決生活中的實際問題,精心組織了大量來源於生活中不同領域的與數值計算和數據處理相關的案例。
  • python入門書籍推薦
    我研一的時候,偶然之間接觸到了python這門語言,給我打開了一扇新的大門。因為python實在太簡單了,直接在命令行打」1+1「,回車就出來結果了,交互性非常強。而且pyhton有大量第三方的庫,我要科學計算就調用numpy,我要用機器學習就調用sklearn,我要繪圖就調用matplotlib,雖然我不知道代碼內部怎麼編寫的,我只要給參數,就能得到實驗結果。
  • 美國史丹福大學教授強烈推薦的Python零基礎必讀書籍之一
    零基礎入門學python推薦學習久負盛名的python入門書籍《Python編程從入門到實踐》。《Python編程 從入門到實戰》這一本書是一本針對所有層次的Python 讀者而作的Python 入門書。
  • Python入門必備的書籍推薦
    書籍作為學習的輔助工具是不可缺少的,所以建議初學者還是要準備些相關的書籍,方便自己去學習掌握好知識。python推薦一:《Python學習手冊:第3版》《Python學習手冊(第3版)》敘述了:Python可移植、功能強大、易於運用,是編寫獨立應用程式和腳本應用程式的志向挑選
  • 如果只能擁有一本Python書籍,你會選擇哪本?
    它簡單易學,跨平臺,而且運轉良好。一言以蔽之就是:其他的語言是與時代同步,而Python則是「未雨綢繆」,而且計劃得頗為出色。因此,也是吸引了很多想要加入其中的小夥伴,如何去掌握一手過硬的Python技術呢?千鋒廣州小編總結來說一般來講有自學和培訓兩種,如果你想快速的學習Python技術,培訓可能是更好的途徑。
  • python之父:小學生都用這本書學python,堪稱python入門教科書
    入門教科書  眾所周知,python的特點就是:簡單、入門快、工資高、工作選擇多,但是雖然是一門最快入門的程式語言,對於沒有接觸過編程的人來說還是有一定的難度,在眾多python學習書籍中,能稱為教科書的實在不多!
  • 娛樂圈選秀文(言情/純愛)來了,你要pick哪一本?
    從《偶像練習生》、《創造101》到現在的《青春有你》,選秀綜藝讓我們見證了很多明星的成長史,今天要給大家推薦的就是幾本娛樂圈選秀文,你要pick哪一本呢?一、《上位》by蘿蔔兔子《不露聲色》一句話簡介:C位和「吊車尾」的愛情故事,不愛你的時候我坦坦蕩蕩,愛你的時候我卻不露聲色。三、《生活不易,被迫賣藝》by摺紙為戲
  • 人生苦短,我用Python,那麼問題來了,普通人要學python嗎?
    最近在教育店集中地兒瞎晃悠,震驚的發現這年頭六歲娃兒都要學編程了,當時我的表情是這樣的。回到家抱著冷嘲熱諷的心,我特意百度搜索了下新聞,結果我的表情是這樣的:1、Python將納入浙江省高考!從 2018 年起浙江省信息技術教材程式語言將會更換為 Python。
  • 史丹福大學教授推薦兩本Python入門書籍
    今天給大家分享自己學習的python的入門書籍。曾經我們讀書的時候,對編程能力特別感興趣,可是我本身發展不是學計算機的,所以進行編程技術只能看視頻通過自學。那時候,我接觸到的第一門語言是C++,就是一個學了很久,但是由於這門藝術語言教育太過深奧,我學了幾個月,連一些企業基本的圖形設計開發也實現不了,後來我果斷放棄使用編程了。在後來偶然因素之間相互接觸了解到python這門專業語言,給我打開了一扇新的大門。因為python實在太簡單了,直接在命令行打」1+1「,回車就出來結果了,交互性也是非常強。
  • 聊聊學python轉行、具體學習方法、自學python用於辦公、寫爬蟲等...
    扯遠了,回到問我轉行的那個人。如果我只會潑冷水,那我就不是一個合格的解憂雜貨鋪。我得想想他為什麼問我轉行的事情。或許是他對於現在的生活看不到新的增長點,少了一點期待,覺得迷茫,或許他覺得學python是他現在唯一能找到的可以改變生活,給生活帶來希望的東西呢?那我只顧著潑涼水就太粗暴了。然後我就問他有關工作的一些更具體的情況。
  • 阿里達摩院給你整理一套2020超強的python書籍,電子檔請你帶走
    從2018年起,浙江省信息技術教材從vb改成python語言,python將成為未來的趨勢,不一定要從事python工作,但一定要學python!百度工程師推薦一套完整的python書籍第一本,可以讓零基礎小白快速入門python——《A byte of python》這一本書是一本python入門書籍,它正在厲害的地方就是把那些python難點講的那麼通俗易懂,思路清晰;短短100多頁的內容,卻能銷售100多萬份。它能讓一個初學者在短短一兩天的時間就能快速入門python,非常經典。
  • 如果只能推薦一本童書,我會推薦這本書給家長
    01.童話有毒,是童書三觀不正還是家長矯枉過正?一位媽媽曾經吐槽安徒生童話《海的女兒》「三觀不正」,她從來不給女兒講《海的女兒》這種「經典童話」。她認為,「雖然我還不確定我女兒聽不聽得懂這個故事和我說的話,但我當時立刻告訴她,別學小美人魚,她們魚類智力不高,你是人類女孩,你有腦子,沒有任何人值得你付出生命。」
  • 學習python必備暢銷書排行榜top5書單
    目前幾乎所有Linux發行版中都自帶了Python解釋器,python語言在數據分析可視化方面的便捷性,以及python在人工智慧方面的應用,以上諸多因素導致了該語言有流行趨勢,佔據程式語言榜單的前幾位,雖然有培訓機構炒作的成分,但,python這麼語言確實有它的可圈可點之處。
  • 我用Python 集齊了五福
    新智元推薦  來源:Crossin的編程教室整理:元子【新智元導讀】又到了每年集五福的時間。你的五福集齊了嗎?每天在各種群裡苦苦求掃福,或者忍受著別人天天求掃福,是不是有點厭倦了。作為技術人員,怎麼能忍受得了這種低效的全人工操作呢?今天就為大家推薦用Python生成風格不同又數量龐大的「福」字,讓大家不用滿世界找福字,動動手指即可。
  • 一步步教你開始使用Python開發Web應用
    我學習python時參考的一些截屏視頻是:  ShowMeDo's Python Screencasts  TheNewBoston's Python Programming Tutorials  兩個教程非常優秀,你甚至可以在學習完這兩個系列後開始編寫腳本。非常建議觀看下那些教程,它們是免費的,同時也是你將來參考時的非常好的資源。
  • 零基礎學習python,這幾本書少不了
    目前,社會上已經掀起了一波學習python的熱潮,但是很多人由於並沒有python基礎,不知道從哪裡開始學習,小編今天整理了零基礎學習python的一些書籍,希望對大家有所幫助。1.《"笨辦法"學Python》推薦理由:本書是一本python入門書籍,比較適合沒有計算機、編程基礎,但是對python感興趣的小白學習使用。
  • 《哎呀呀》:一本我念得停不下來的童書
    最近入手了一本非常好的童書,叫做《哎呀呀》。在第一天和橙子一起讀的時候,我們就一起讀了不下五遍。以前橙子要求重複讀的書,在講了幾次之後,我都會要求停下來,過幾天再讀,因為老母親實在沒辦法對著一本書翻來覆去地講四五次。可是這本《哎呀呀》,我卻自己讀得停不下來。因為它太好念了。
  • 「繪本推薦」一本視角獨特的便便書-《是誰嗯嗯在我的頭上》
    我們今天要來介紹一本關於便便的繪本《是誰嗯嗯在我的頭上》。在故事的開頭,小鼴鼠開心地鑽出洞穴準備曬太陽,突然一條香腸一樣的「嗯嗯」掉了下來,正好掉在了小鼴鼠的頭上。小鼴鼠生氣極了,可是它的視力不好沒有看清是誰「嗯嗯」在它頭上的,它只好去問其他小動物。