fluent python是什麼意思
《Fluent Python》是一本介紹Python的書。這本書並不是一本完備的 Python 使用手冊,而是會強調 Python 作為程式語言獨有的特性,這些特性或者是隻有 Python 才具備的,或者是在其他大眾語言裡很少見的。 Python語言核心以及它的一些庫會是本書的重點。
相關推薦:《》
目標讀者:
正在使用 Python,又想熟悉 Python 3 的程式設計師 。
主題:
第一部分:
第一部分只有單獨的一章,講解的是 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python 是什麼意思Python
- Python是什麼意思?Python有什麼用?Python
- Python是什麼意思?Python幹什麼用的?Python
- python中global是什麼意思?Python
- python中mat是什麼意思?Python
- python中return是什麼意思?Python
- python 複數是什麼意思Python
- 在python裡int是什麼意思Python
- Python中的rad是什麼意思?Python
- python裡面cv是什麼意思Python
- 英文Python是什麼意思?學Python需要什麼基礎?Python
- python UDP程式設計是什麼意思?PythonUDP程式設計
- python資料處理是什麼意思Python
- ITIL是什麼意思?ITIL是什麼?
- Symmathesy是什麼意思?
- HTML是什麼意思?HTML
- Python多執行緒是什麼意思?有什麼優勢?Python執行緒
- python中三個單引號是什麼意思Python
- BGP是什麼意思,一般的BGP機房是什麼意思
- 什麼是API介面,具體是什麼意思?API
- DRBD是什麼意思?優缺點是什麼?
- js 中~~是什麼意思?JS
- 加簽是什麼意思?
- mysql中是什麼意思?MySql
- jquery庫是什麼意思jQuery
- bucket是什麼意思?有什麼作用?
- RDP是什麼意思?有什麼用?
- LDAP是什麼意思?有什麼用?LDA
- python中len什麼意思Python
- SNP全稱是什麼? SNP是什麼公司? SNP是什麼意思?
- DHCP是什麼?DHCP伺服器是什麼意思?伺服器
- 原生IP是什麼意思?有什麼作用?
- DigiCert是什麼意思 具備什麼作用
- C++中::是什麼意思C++
- isVerified () 和 verified () 是什麼意思?
- 低程式碼是什麼意思?
- mysql中的“=”是什麼意思MySql
- 動態ip是什麼意思?