fluent python是什麼意思

joytoy發表於2021-09-11

fluent python是什麼意思

《Fluent Python》是一本介紹Python的書。這本書並不是一本完備的 Python 使用手冊,而是會強調 Python 作為程式語言獨有的特性,這些特性或者是隻有 Python 才具備的,或者是在其他大眾語言裡很少見的。 Python語言核心以及它的一些庫會是本書的重點。

相關推薦:《》

目標讀者:

正在使用 Python,又想熟悉 Python 3 的程式設計師 。

fluent python是什麼意思

主題:

第一部分:

第一部分只有單獨的一章,講解的是 Python 的資料模型(data model),以及如何為了保證行為一致性而使用特殊方法(比如 __repr__),畢竟 Python 的一致性是出了名的。其實整本書幾乎都是在講解 Python 的資料模型,第 1 章算是一個概覽。

第二部分:

第二部分包含了各種集合型別:序列(sequence)、對映(mapping)和集合(set),另外還提及了字串(str)和位元組序列(bytes)的區分。說起來,最後這一點也是讓親者(Python 3 使用者)快,仇者(Python 2 使用者)痛的一個關鍵,因為這個區分致使 Python 2 程式碼遷移到 Python 3 的難度陡增。第二部分的目標是幫助讀者回憶起 Python內建的類庫,順帶解釋這些類庫的一些不太直觀的地方。具體的例子有 Python 3 如何在我們觀察不到的地方對 dict 的鍵重新排序,或者是排序有區域(locale)依賴的字串時的注意事項。為了達到本部分的目標,有些地方的講解會比較大而全,像序列型別和對映型別的變種就是這樣;有時則會寫得很深入,比方說我會對 dict 和 set 底層的雜湊表進行深層次的討論。

第三部分:

第三部分首先會解釋,如何把函式作為一等物件(first-order object)來使用,然後話題延伸到這個概念對那些被廣泛使用的設計模型的影響,最後讀者會看到如何利用閉包(closure)的概念來實現函式裝飾器(function decorator)。這一部分的話題還包括 Python 的這些基本概念:可呼叫(callable)、函式屬性(functionattribute)、內省(introspection)、引數註解(parameter annotation)和 Python 3 裡新出現的 nonlocal 宣告。

第四部分:

到了這裡,書的重點轉移到了類的構建上面。雖然在第二部分裡的例子裡就有類宣告(class declaration)的出現,但是第四部分會呈現更多的類。和任何面嚮物件語言一樣,Python 還有些自己的特性,這些特性可能並不會出現在你我學習基於類的程式設計的語言中。這一部分的章節解釋了引用(reference)的原理、 “可變性”的概念、例項的生命週期、如何構建自定義的集合型別和 ABC、多重繼承該怎麼理順、什麼時候應該使用運算子過載及其方法。

第五部分:

Python 中有些結構和庫不再滿足於諸如條件判斷、迴圈和子程式(subroutine)之類的順序控制流程,第五部分的筆墨會集中在這些構造和庫上。我們會從生成器(generator)起步,然後話題會轉移到上下文管理器(context manager)和協程(coroutine),其中會涵蓋新增的功能強大但又不容易理解的 yield from 語法。這一部分以併發性和麵向事件的 I/O 來結尾,其中跟併發性相關的是 collections.futures 這個很新的包,它藉助futures 包把執行緒和程式的概念給封裝了起來;而跟面向事件 I/O 相關的則是 asyncio,它的背後是基於協程和 yield from 的 futures 包。

第六部分:

第六部分的開頭會講到如何動態建立帶屬性的類,用以處理諸如JSON這類半結構化的資料。然後會從大家已經熟悉的特性(property)機制入手,用描述符從底層來解釋Python物件屬性的存取。同時,函式、方法和描述符的關係也會被梳理一遍。第六部分會從頭至尾地實現一個欄位驗證器,在這個過程中我們會遇到一些微妙的問題,然後在最後一章中就自然引出像類裝飾器(class decorator)和元類(metaclass)這些高階的概念。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4650/viewspace-2836268/,如需轉載,請註明出處,否則將追究法律責任。

相關文章