<內容簡介>
“很榮幸可以擔任這本優秀書籍的技術校閱—它不但可以協助許多尚未完全掌握 Python 的程式員精通這個語言,也讓我學到很多東西!”
—Alex Martelli
Python Software Foundation 成員
“Fluent Python 是一座寶庫,對想要擴充知識領域的中階與進階 Python 程式員而言,這座寶庫充滿實用的程式設計技巧。”
—Daniel 與 Audrey Roy Greenfeld Two Scoops of Django 作者
Python 的簡單,可讓你快速地具備生產力,不過通常這也代表你並未使用它所提供的每一種功能。藉由這本實作指南,你將會學到如何利用它最棒(或許也是最被忽略)的功能,來編寫有效、道地的 Python 程式。作者 Luciano Ramalho 將為你導覽 Python 的核心語言功能與程式庫,讓你知道如何同時編寫更精簡、更快速且更易讀的程式。
許多有經驗的程式員,都會試著將其他語言學來的模式套用在 Python 上,卻從未探索他們沒有經歷過的 Python 功能。透過這本書,這些 Python 程式員可以徹底學習如何精通 Python 3。
這本書涵蓋:
■ Python 資料模型:瞭解特殊方法是讓物件具備一致行為的關鍵
■ 資料結構:充分使用內建的型態,並瞭解 Unicode 時代中,文字 vs. bytes 之間的關係
■ 函式就是物件:見識 Python 函式是一級物件,並瞭解這個事實如何影響熱門的設計模式
■ 物件導向的習慣用法:學習參考、可變性、介面、運算子多載與多重繼承,並建構類別
■ 控制流程:藉由 concurrent.futures 與 asyncio 套件,來充分活用情境管理器、產生器、協同程序與並行
■ 中繼編程:瞭解特性、屬性描述器、類別修飾器與中繼類別的工作原理
<章節目錄>
第一單元 序言
第一章 Python 資料模型
第二單元 資料結構
第二章 序列的陣列
第三章 字典與集合
第四章 文字 VS. 位元組
第三單元 將函式視為物件
第五章 一級函式
第六章 使用一級類別函式的設計模式
第七章 函式修飾器與 Closure
第四單元 物件導向習慣用法
第八章 物件參考、可變性與重複使用
第九章 Python 式物件
第十章 序列修改、雜湊與切片
第十一章 介面:從協定到 ABC
第十二章 繼承:好或不好
第十三章 運算子多載:做正確的事
第五單元 控制流程
第十四章 可迭代物、迭代器與產生器
第十五章 情境管理器與 else 區塊
第十六章 協同程序
第十七章 以 futures 來撰寫並行
第十八章 使用 asyncio 來處理並行
第六單元 中繼編程
第十九章 動態屬性與特性
第二十章 屬性描述器
第二十一章 類別中繼編程
後記
附錄A 支援程式
Python 術語
<作者介紹>
Luciano Ramalho 從 1998 年開始就是一位 Python 程式員,他是 Python Software Foundation 成員,巴西訓練公司 Python.pro.br 的共同擁有者,與巴西第一個駭客空間 Garoa Hacker Clube 的共同創辦者。他曾經領導許多軟體開發團隊,並為巴西媒體、銀行與政府單位教導 Python 課程。