摘錄effective python書中的練習,作為自己學習筆記之用。需要常參考原著服用
- 01. 知道你所使用的版本
- 02. 遵循PEP8風格指南
- 03. 搞清楚
bytes
,str
與unicode
之間的差異
- 14. 優先使用例外而非回傳
None
- 15. 知道
Closures
如何與變數範疇互動 - 16. 考慮使用產生器而非回傳串列
- 17. 迭代引數時要做好防備
- 18. 以可變的位置引數來減少視覺雜訊
- 19. 以關鍵字引數提供選擇性的行為
- 20. 使用
None
與Docstrings
來指定動態的預設引數 - 21. 強制使用僅限關鍵字引數讓程式碼更清楚易懂
- 22. 優先選用輔助類別而非使用字典或元祖來管理紀錄
- 23. 接受函式為簡單界面,而非使用類別
- 24. 使用
@classmethod
多型機制來建構泛用物件 - 25. 使用
super
來初始化父類別 - 26. 多重繼承只用於Mix-In工具類別
- 27. 優先選用公開屬性而非私有屬性
- 28. 繼承
collections.abc
以建立自訂的容器型別
- 29. 使用普通屬性而不是Get或Set方法
- 30. 考慮使用
@property
而非重構屬性 - 31. 使用描述器來建立可重用的
@property
方法 - 32 使用
__getattr__
,__getattribute__
,與__setattr__
來建立惰性屬性 - ...
- 36. 使用
subprocess
來管理子行程 - 37. 執行序用於阻斷式I/O,避免用於平行處理
- 38. 使用
Lock
來避免執行緒之間的資料競態 - 39. 使用
Queue
來協調執行緒之間的工作 - 40. 考慮使用
Coroutines
來共時執行許多函式 - 41. 考慮使用
concurrent.futures
來達成真正的平行處理
- 42. 以
functools.wrps
定義函數裝飾器 - 43. ...