贈書《流暢的Python》

劉志軍發表於2019-03-01

基礎語法都知道,程式碼也基本能讀懂,但是動手能力差,寫程式碼沒有任何頭緒,開源專案中的程式碼稍微複雜就難以理解,這是很多初學者面臨的困惑。國內 Python 教程良莠不齊,大多數僅停留在基礎語法層面,這導致很多初學者甚至一些富有經驗的開發者寫出來的程式碼帶有濃重的“口音”(從其它語言轉移過來的程式設計思維),比如:

a = 1
b = 2
# 交換兩個變數
tmp = a
a = b
b = tmp複製程式碼

這程式碼雖然能正確執行,但在 Python 中這是很不專業的寫法,真正的 Pythonic 寫法是:

a = 1
b = 2
a, b = b, a複製程式碼

又比如遍歷帶索引下標的集合物件時,非Python程式設計師首先想到的寫法可能是先定義一個索引下標變數 :

colors = ['red', 'green', 'blue', 'yellow']
index = 0
for x in colors:
 print(index, colors[index])
 index += 1複製程式碼

如果你是一個有經驗的Python程式設計師,那麼你一定會想到 enumerate 函式能實現這樣的功能。

colors = ['red', 'green', 'blue', 'yellow']
for index, color in enumerate(colors):
 print(index, color)複製程式碼

諸如此類優雅的寫法,還有很多高階特性,裝飾器、生成器、迭代器、描述符等概念摻雜在一起讓人望而生畏。棘手的字元編碼問題,位元組字串與 Unicode 字串在 Python2 中互相轉換能把人逼瘋。函式作為第一類物件在實際應用中有著舉足輕重的作用,理解函式,也就是理解閉包、裝飾器、作用域、名稱空間、內省等概念,幾乎無人問津的 Python 垃圾回收機制、以及協程併發等與效能相關的主題,你可能這輩子都用不著的元類(如果你要著手寫一個框架,那麼你不可避免地需要去理解元類的概念以及應用。)物件導向的精髓,如何高效地使用Python資料結構,

以上知識點都是通往 Python 高手之路所必須掌握的。

然而,似乎從來沒有一本書能夠全面的從這些方面講解,值得可賀的是,兩年前一本叫做《Fluent Python》的書填補了 Python 社群沒有像樣的關於實戰技巧、進階提高書籍的空白。這本書經過兩年時間的驗證,口碑毋庸置疑,國內各種技術社群對此書都有不錯的評論,英文版我有幸拜讀過,它給我的工作提供不少幫助,是一本進階程式設計師不可多得的好書。

一個利好訊息,《Fluent Python》今年正式由圖靈教育引進,中譯本《流暢的Python》目前已經順利出版。

贈書《流暢的Python》

贈書活動由圖靈教育贊助,首先感謝圖靈的支援,一共有5本書。活動的規則很簡單,在公眾號 "Python之禪"的 初級Python程式設計師如何進階? 這篇文章下面留言就有機會獲得此書。截止時間是5月21日24點

公眾號:Python之禪 (id:VTtalk),分享 Python 等技術乾貨

贈書《流暢的Python》
Python之禪

相關文章