Python 忍者秘籍

[美]科迪·傑克遜(Cody Jackson) 李俊毅 譯

  • Python 忍者秘籍-preview-1
  • Python 忍者秘籍-preview-2
Python 忍者秘籍-preview-1

買這商品的人也買了...

商品描述

本書主要介紹Python的基礎安裝和進階操作。
全書共有9章,介紹了Python模塊,解釋器,裝飾器,collections,生成器、協同程序和並行處理,
math模塊,PyPy,增強方案以及LyX的相關使用。
本書包含大量的代碼示例可供讀者參考並實踐。
本書適合使用Python語言的算法工程師、後台工程師、測試工程師以及運維工程師閱讀,
也適合有一定編碼基礎的人員自學Python或瞭解進階知識。

作者簡介

Cody Jackson

是一位軍事老兵,也是德克薩斯聖安東尼奧的IT和商業管理諮詢公司SoCuff諮詢公司的創始人。
他在CACI國際公司擔任建設性建模師。
自1994以來,他一直參與高科技產業。
他在ECPI大學擔任計算機信息系統兼職教授。
他是自學Python,也是Learning to Program Using 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