Skip to content

ihongChen/Effective-python-ex

Repository files navigation

Effective python 中文版練習

59個具體作法

摘錄effective python書中的練習,作為自己學習筆記之用。需要常參考原著服用

Ch1 Pythonic思維

  • 01. 知道你所使用的版本
  • 02. 遵循PEP8風格指南
  • 03. 搞清楚bytes,strunicode之間的差異

Ch2 函式

  • 14. 優先使用例外而非回傳None
  • 15. 知道Closures如何與變數範疇互動
  • 16. 考慮使用產生器而非回傳串列
  • 17. 迭代引數時要做好防備
  • 18. 以可變的位置引數來減少視覺雜訊
  • 19. 以關鍵字引數提供選擇性的行為
  • 20. 使用NoneDocstrings來指定動態的預設引數
  • 21. 強制使用僅限關鍵字引數讓程式碼更清楚易懂

ch3 類別與繼承

  • 22. 優先選用輔助類別而非使用字典或元祖來管理紀錄
  • 23. 接受函式為簡單界面,而非使用類別
  • 24. 使用@classmethod多型機制來建構泛用物件
  • 25. 使用super來初始化父類別
  • 26. 多重繼承只用於Mix-In工具類別
  • 27. 優先選用公開屬性而非私有屬性
  • 28. 繼承collections.abc以建立自訂的容器型別

ch4 元類別與屬性

  • 29. 使用普通屬性而不是Get或Set方法
  • 30. 考慮使用@property而非重構屬性
  • 31. 使用描述器來建立可重用的@property方法
  • 32 使用__getattr__,__getattribute__,與__setattr__來建立惰性屬性
  • ...

ch5 共時與平行處理

  • 36. 使用subprocess來管理子行程
  • 37. 執行序用於阻斷式I/O,避免用於平行處理
  • 38. 使用Lock來避免執行緒之間的資料競態
  • 39. 使用Queue來協調執行緒之間的工作
  • 40. 考慮使用Coroutines來共時執行許多函式
  • 41. 考慮使用concurrent.futures來達成真正的平行處理

ch6 內建模組

  • 42. 以functools.wrps定義函數裝飾器
  • 43. ...

About

Effective Python程式碼練習-與-相關筆記-

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages