Python代碼整潔之道

Python代碼整潔之道

《Lean Python: Elegant Coding in Python》一書中文版:《Python代碼整潔之道:編寫優雅的代碼》由機械工業出版社於2020年10月出版。

通過示例介紹如何編寫更加整潔、優雅的Python代碼,並介紹一些非常有用的工具。

基本介紹

  • 書名:Python代碼整潔之道:編寫優雅的代碼
  • 作者:[美] 蘇尼爾·卡皮爾(Sunil Kapil)
  • 類別:計算機
  • 原作品:Clean Python: Elegant Coding in Python
  • 譯者:連少華
  • 出版社:機械工業出版社
  • 出版時間:2020年10月1日
  • 頁數:207 頁
  • 定價:79 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:978711166587
內容簡介,圖書目錄,作者簡介,

內容簡介

《Python代碼整潔之道:編寫優雅的代碼》旨在為不同級別的Python開發人員提供編程技巧方面的指引,以編寫出更好的Python軟體和程式。所提供的各種技術也不受限於Python的使用領域,同時還展示了如何讓代碼更符合Python的風格。
探索使用Python編寫代碼的正確方法。本書提供了構建無錯誤和強壯的Python項目所需的技巧和技術。
為了講授如何編寫更好的代碼,本書首先介紹理解代碼格式化和代碼注釋的重要性,以及利用內置數據結構和Python字典提高可維護性,使用模組和元類有效地組織代碼;
然後深入介紹Python語言的新特性,並教會讀者如何有效地使用它們;接下來,將深入介紹一些關鍵概念,如異步編程、Python數據類型、類型提示和路徑處理等,並講述調試、單元測試和集成測試的技巧,以保證代碼可以投入生產;
最後在附錄中介紹了一些有助於加快開發速度和提高代碼質量的優秀Python工具。
閱讀本書之後,你將會熟練地編寫整潔的Python代碼,並可以成功地將這些原則套用到自己的Python項目中。
通過本書你將學到以下內容:
●正確地使用表達式和語句
●創建字典並評估字典的使用
●使用Python中的高級數據結構
●編寫更好的模組、類、函式和元類
●編寫異步代碼
●發現Python的新特性

圖書目錄

●第1章 關於Python的思考1
1.1 編寫Python代碼1
1.1.1 命名2
1.1.2 代碼中的表達式和語句5
1.1.3 擁抱Python編寫代碼的方式8
1.2 使用文檔字元串14
1.2.1 模組級文檔字元串17
1.2.2 使類文檔字元串具有描述性17
1.2.3 函式文檔字元串18
1.2.4 一些有用的文檔字元串工具19
1.3 編寫Python的控制結構20
1.3.1 使用列表推導20
1.3.2 不要使用複雜的列表推導21
1.3.3 應該使用lambda嗎23
1.3.4 何時使用生成器與何時使用列表推導23
1.3.5 為什麼不要在循環中使用else24
1.3.6 為什麼range函式在Python 3中更好27
1.4 引發異常28
1.4.1 習慣引發異常28
1.4.2 使用finally來處理異常30
1.4.3 創建自己的異常類31
1.4.4 只處理特定的異常32
1.4.5 小心第三方的異常34
1.4.6 try最少的代碼塊35
1.5 小結36
●第2章 數據結構38
2.1 常用數據結構38
2.1.1 使用集合38
2.1.2 返回和訪問數據時使用namedtuple40
2.1.3 理解str、Unicode和byte43
2.1.4 謹慎使用列表,優先使用生成器44
2.1.5 使用zip處理列表47
2.1.6 使用Python的內置函式48
2.2 使用字典50
2.2.1 何時使用字典與何時使用其他數據結構51
2.2.2 collections51
2.2.3 有序字典、默認字典、普通字典54
2.2.4 使用字典的switch語句55
2.2.5 合併兩個字典的方法56
2.2.6 優雅地列印字典57
2.3 小結58
●第3章 編寫更好的函式和類59
3.1 函式59
3.1.1 編寫小函式60
3.1.2 返回生成器61
3.1.3 引發異常替代返回None63
3.1.4 使用默認參數和關鍵字參數64
3.1.5 不要顯式地返回None66
3.1.6 編寫函式時注意防禦68
3.1.7 單獨使用lambda表達式70
3.2 類72
3.2.1 類的大小72
3.2.2 類結構73
3.2.3 正確地使用@property75
3.2.4 什麼時候使用靜態方法77
3.2.5 繼承抽象類79
3.2.6 使用@classmethod來訪問類的狀態80
3.2.7 使用公有屬性代替私有屬性81
3.3 小結83
●第4章 使用模組和元類84
4.1 模組和元類84
4.2 如何使用模組組織代碼86
4.3 使用__init__檔案88
4.4 以正確的方式從模組導入函式和類90
4.5 何時使用元類92
4.6 使用__new__方法驗證子類93
4.7 __slots__的用途95
4.8 使用元類改變類的行為98
4.9 Python描述符100
4.10 小結102
●第5章 裝飾器和上下文管理器104
5.1 裝飾器105
5.1.1 裝飾器及其作用105
5.1.2 理解裝飾器106
5.1.3 使用裝飾器更改行為108
5.1.4 同時使用多個裝飾器110
5.1.5 使用帶參數的裝飾器111
5.1.6 考慮使用裝飾器庫112
5.1.7 用於維護狀態和驗證參數的類裝飾器114
5.2 上下文管理器117
5.2.1 上下文管理器及用途117
5.2.2 理解上下文管理器119
5.2.3 使用contextlib創建上下文管理器120
5.2.4 上下文管理器的示例121
5.3 小結124
●第6章 生成器與疊代器125
6.1 使用生成器和疊代器125
6.1.1 理解疊代器125
6.1.2 什麼是生成器128
6.1.3 何時使用疊代器129
6.1.4 使用itertools130
6.1.5 為什麼生成器非常有用132
6.1.6 列表推導和疊代器133
6.2 使用yield關鍵字133
6.2.1 yield from135
6.2.2 yield相比數據結構更快135
6.3 小結136
●第7章 使用Python的新特性137
7.1 異步編程137
7.1.1 Python中的async138
7.1.2 asyncio是如何工作的141
7.1.3 異步生成器151
7.2 類型標註159
7.2.1 Python中的類型160
7.2.2 typing模組160
7.2.3 類型檢查會影響性能嗎163
7.2.4 類型標註如何幫助編寫更好的代碼163
7.2.5 typing的陷阱163
7.3 super()方法164
7.4 類型提示164
7.5 使用pathlib處理路徑164
7.6 print()現在是一個函式165
7.7 f-string165
7.8 關鍵字參數166
7.9 保持字典數據的順序166
7.10 疊代解包166
7.11 小結167
●第8章 調試和測試Python代碼168
8.1 調試168
8.1.1 調試工具169
8.1.2 breakpoint172
8.1.3 在產品代碼中使用logging模組替代print172
8.1.4 使用metrics庫來分析性能瓶頸177
8.1.5 IPython有什麼幫助178
8.2 測試179
8.2.1 測試非常重要179
8.2.2 Pytest和UnitTest180
8.2.3 屬性測試184
8.2.4 生成測試報告184
8.2.5 自動化單元測試185
8.2.6 讓代碼為生產做好準備186
8.2.7 在Python中執行單元和集成測試186
8.3 小結189
附錄 一些很棒的Python工具190

作者簡介

【作者簡介】
Sunil Kapil在過去的10年中一直從事軟體開發工作,用Python和其他幾種語言編寫代碼,主要涉及Web和移動端服務的軟體開發。他開發、部署並維護了被數百萬用戶喜愛和使用的各種項目,這些項目是與來自不同專業環境的團隊合作完成的,涉及世界著名的軟體公司。他也是開源的熱情倡導者,並持續貢獻Zulip Chat和Black等項目。他還與非營利組織合作,並以志願者的身份為其軟體項目做出貢獻。
【譯者介紹】
連少華 先後就職於中興通訊、深交所、金證股份等知名公司和機構,熱衷於軟體事業,技術棧廣泛,涉及C++、C#、Java、Python、Golang等,對架構設計和底層技術有深入的理解和實踐,曾經給國外的一些開源庫提交過bug並貢獻過代碼。在CSDN論壇擔任過5年多的C++小版的版主和C/C++大版的版主。譯有《C++代碼整潔之道》,現致力於大數據平台的設計與開發。

相關詞條

熱門詞條

聯絡我們