TOP
紅利積點抵現金,消費購書更貼心
Python代碼整潔之道:編寫優雅的代碼(簡體書)
滿額折

Python代碼整潔之道:編寫優雅的代碼(簡體書)

商品資訊

人民幣定價:79 元
定價
:NT$ 474 元
優惠價
87412
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :12 點
商品簡介
名人/編輯推薦
目次

商品簡介

本書首先介紹理解代碼格式化和代碼注釋的重要性,以及利用內置數據結構和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

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區