《Python忍者秘籍》是2020年人民郵電出版社出版的圖書,作者是[美] 科迪·傑克遜。
基本介紹
- 中文名:Python忍者秘籍
- 作者:[美] 科迪·傑克遜
- 出版社:人民郵電出版社
- ISBN:9787115535696
內容簡介,圖書目錄,作者簡介,
內容簡介
本書主要介紹Python的基礎安裝和進階操作。全書共有9章,介紹了Python模組,解釋器,裝飾器,collections,生成器、協同程式和並行處理,math模組,PyPy,增強方案以及LyX的相關使用。本書包含大量的代碼示例可供讀者參考並實踐。
本書適合使用Python語言的算法工程師、後台工程師、測試工程師以及運維工程師閱讀,也適合有一定編碼基礎的人員自學Python或了解進階知識。
圖書目錄
第 1章 使用Python模組 1
1.1 介紹 1
1.2 使用和導入模組以及命名空間 2
1.2.1 實現方法 3
1.2.2 工作原理 5
1.2.3 擴展知識 6
1.3 實現Python虛擬環境 9
1.3.1 準備工作 10
1.3.2 實現方法 12
1.3.3 工作原理 13
1.3.4 擴展知識 13
1.4 Python包安裝選項 13
1.4.1 實現方法 14
1.4.2 工作原理 15
1.5 利用需求檔案並解決衝突 15
1.5.1 實現方法 16
1.5.2 工作原理 17
1.5.3 擴展知識 17
1.6 使用本地補丁和約束檔案 17
1.6.1 實現方法 18
1.6.2 工作原理 19
1.6.3 擴展知識 19
1.7 使用包 20
1.7.1 實現方法 20
1.7.2 工作原理 21
1.7.3 擴展知識 22
1.8 創建wheel和bundle 22
1.8.1 實現方法 23
1.8.2 工作原理 23
1.8.3 擴展知識 24
1.9 原始碼與位元組碼的比較 24
1.9.1 實現方法 24
1.9.2 工作原理 25
1.9.3 擴展知識 25
1.10 如何創建和引用模組包 25
1.10.1 實現方法 26
1.10.2 工作原理 27
1.10.3 擴展知識 27
1.11 作業系統專用二進制檔案 28
1.11.1 實現方法 30
1.11.2 擴展知識 33
1.12 如何上傳程式到PyPI 33
1.12.1 準備工作 34
1.12.2 實現方法 34
1.12.3 工作原理 34
1.13 項目打包 37
1.14 上傳到PyPI 39
1.14.1 準備工作 39
1.14.2 實現方法 39
1.14.3 工作原理 40
第 2章 使用Python解釋器 41
2.1 介紹 41
2.2 登錄Python環境 42
2.2.1 實現方法 42
2.2.2 工作原理 42
2.3 利用Python命令選項 43
2.3.1 實現方法 43
2.3.2 工作原理 44
2.3.3 接口選項 44
2.3.4 通用選項 45
2.3.5 雜項選項 45
2.4 處理環境變數 47
2.4.1 實現方法 48
2.4.2 工作原理 48
2.5 使腳本可執行 51
2.5.1 實現方法 51
2.5.2 擴展知識 51
2.6 修改互動式解釋器的啟動檔案 52
2.7 Python的其他實現方法 52
2.7.1 實現方法 53
2.7.2 擴展知識 54
2.8 在Windows作業系統上安裝Python 55
2.8.1 準備工作 56
2.8.2 實現方法 56
2.9 使用基於Windows作業系統的Python啟動器 57
2.10 將Python嵌入其他應用程式 58
2.10.1 實現方法 58
2.10.2 工作原理 59
2.11 Python Shell的替代品—IPython 60
2.11.1 準備工作 61
2.11.2 實現方法 62
2.11.3 擴展知識 64
2.12 Python Shell的替代品—bpython 64
2.12.1 準備工作 65
2.12.2 實現方法 65
2.12.3 擴展知識 66
2.13 Python Shell的替代品—DreamPie 66
2.13.1 準備工作 67
2.13.2 實現方法 67
2.13.3 擴展知識 67
第3章 使用裝飾器 68
3.1 介紹 68
3.2 回顧函式 69
3.2.1 實現方法 69
3.2.2 工作原理 71
3.3 裝飾器簡介 71
3.3.1 實現方法 72
3.3.2 工作原理 74
3.4 使用函式裝飾器 74
3.4.1 實現方法 75
3.4.2 工作原理 76
3.5 使用類裝飾器 78
3.6 裝飾器示例 81
3.6.1 準備工作 82
3.6.2 實現方法 82
3.6.3 工作原理 85
3.6.4 擴展知識 86
3.7 使用裝飾器模組 89
3.7.1 實現方法 90
3.7.2 工作原理 92
3.7.3 擴展知識 92
第4章 使用Python collections 93
4.1 介紹 93
4.2 回顧容器 94
4.2.1 實現方法 94
4.2.2 擴展知識 96
4.3 實現namedtuple 99
4.3.1 實現方法 100
4.3.2 擴展知識 102
4.4 實現雙端佇列 105
4.5 實現ChainMap 110
4.6 實現計數器 114
4.6.1 實現方法 114
4.6.2 擴展知識 117
4.7 實現OrderedDict 117
4.8 實現defaultdict 121
4.9 實現UserDict 124
4.10 實現UserList 125
4.10.1 實現方法 126
4.10.2 擴展知識 127
4.11 實現UserString 127
4.12 最佳化Python collections 128
4.13 窺探collections-extended模組 135
4.13.1 準備工作 136
4.13.2 實現方法 137
第5章 生成器、協同程式和並行處理 143
5.1 介紹 143
5.2 Python中的疊代是如何工作的 144
5.3 使用itertools模組 148
5.4 使用生成器函式 165
5.4.1 實現方法 165
5.4.2 工作原理 166
5.4.3 擴展知識 167
5.5 使用協同程式模擬多執行緒 168
5.5.1 實現方法 169
5.5.2 擴展知識 171
5.6 何時使用並行處理 172
5.6.1 實現方法 172
5.6.2 擴展知識 173
5.7 Fork進程 173
5.7.1 實現方法 174
5.7.2 工作原理 174
5.7.3 擴展知識 175
5.8 如何實現多執行緒 175
5.8.1 實現方法 176
5.8.2 擴展知識 180
5.9 如何實現多進程 181
5.9.1 實現方法 182
5.9.2 擴展知識 184
第6章 使用Python的math模組 186
6.1 介紹 186
6.2 使用math模組的函式和常量 187
6.3 處理複數 202
6.4 改善小數 205
6.5 提高分數精度 209
6.6 處理隨機數 210
6.7 使用secrets模組 215
6.8 實現基本統計操作 216
6.9 使用comath改進功能 221
6.9.1 準備工作 221
6.9.2 實現方法 221
第7章 使用PyPy提升Python性能 225
7.1 介紹 225
7.2 什麼是PyPy 226
7.2.1 準備工作 227
7.2.2 實現方法 228
7.2.3 擴展知識 232
7.3 什麼是RPython 233
7.3.1 實現方法 233
7.3.2 擴展知識 235
7.4 現實示例 235
7.4.1 實現方法 236
7.4.2 擴展知識 241
第8章 Python增強方案 242
8.1 介紹 242
8.2 PEP 242
8.2.1 實現方法 243
8.2.2 擴展知識 245
8.3 PEP 556—執行緒垃圾回收 246
8.3.1 準備工作 246
8.3.2 實現方法 247
8.3.3 擴展知識 251
8.4 PEP 554—多個子解釋器 252
8.4.1 實現方法 252
8.4.2 工作原理 256
8.4.3 擴展知識 257
8.5 PEP 551—安全透明度 258
8.5.1 準備工作 258
8.5.2 實現方法 259
8.6 PEP 543—統一的TLS API 261
8.6.1 實現方法 262
8.6.2 擴展知識 263
第9章 使用LyX寫文檔 264
9.1 介紹 264
9.2 Python文檔工具和技術 265
9.3 行內注釋和dir命令 266
9.4 使用文檔字元串 268
9.4.1 實現方法 269
9.4.2 擴展知識 274
9.5 使用PyDoc幫助 277
9.6 HTML報告 278
9.7 使用reStructuredText檔案 282
9.7.1 準備工作 283
9.7.2 實現方法 283
9.8 使用Sphinx文檔程式 286
9.8.1 準備工作 286
9.8.2 實現方法 286
9.9 使用LaTeX和LyX文檔編寫程式 293
9.9.1 準備工作 294
9.9.2 實現方法 294
9.9.3 擴展知識 299
作者簡介
Cody Jackson是一位軍事老兵,也是德克薩斯聖安東尼奧的IT和商業管理諮詢公司SoCuff諮詢公司的創始人。他在CACI國際公司擔任建設性建模師。自1994以來,他一直參與高科技產業。他在ECPI大學擔任計算機信息系統兼職教授。他是自學Python,也是Learning to Program Using Python系列叢書的作者。