[好書推薦]簡潔的Python:重構你的舊程式

關於Python是個簡單的程式語言我不予置評
但如果你說你學到class就算是學會python
那我想你大該只碰到冰山一角
我推薦這本簡潔的Python:重構你的舊程式
這本書屬於中階以上的程式設計書籍
一開始就開門見山地直說 python程式的風格與特色
也就是所謂 Pythonic 的 coding style
而本書的重點仍是關於簡潔的程式碼(clean code)所該具備的程式特質
對於一個軟體工程師而言
每天修改並維護甚至擴增現有的程式碼是司空見慣的事
如何在你開發出來的程式中加上足夠的docstring是非常重要的
(docstring : 程式碼中的使用說明文件,必須以英文詳細說明程式碼的使用方式、規則,最好列出example方便別人使用)
在大型物件導向的軟體開發中
SOLID 原則是不可或缺的
在書中使用優美的python範例程式讓第一次練習的人比較好看懂
而我會購買本書的原因並不是為了學習Clean code
而是想要了解python的底層程式原理
例如:
在 for e in object 中能夠自動迭代?
其中的實作為何?
當然 我找到了答案
就是generator
使用 __next__ 和 __iter__ 可以自訂自己的迭代規則
而返回的數值則是使用__getitem__ method
另外我也在找尋類似function pointer的程式特徵
我在 @ 裝飾器(decorator)中看到類似的影子
不過其應用更加物件化
環境管理器(context manager)更是解惑了
剛看見python程式with語法的滿臉問號
想當初我也是陷入學習python的五十道陰影之中
原來只是在結束時多呼叫個__exit__ method而已
在書本後半段還有提到container
我想應該跟C++的container是相同的概念吧
老實說的 python的語法設計跟C++本來就是很像的