《Python參考手冊(第4版)》是2010年人民郵電出版社出版的一本圖書,作者是David M.Beazley。
基本介紹
- 作者:David M.Beazley
- 譯者:謝俊 / 楊越 / 高偉
- ISBN:9787115242594
- 頁數:540
- 定價:89.00元
- 出版社:人民郵電出版社
- 出版時間:2010-12
- 裝幀:平裝
- 原作名:Python Essential Reference,4E
- 叢書: 圖靈程式設計叢書
內容介紹,作者介紹,作品目錄,
內容介紹
本書是權威的Python語言參考指南,內容涉及核心Python語言和Python庫的最重要部分。本書內容簡潔扼要、可讀性強,書中還包括了一些沒有在Python官方文檔或其他資料中出現過的一些高級的主題。
這一版在內容上進行了全面更新,介紹了Python 2.6和Python 3新引入的程式語言特性和庫模組,同時還分析了Python程式設計師面臨的如下難題:是應繼續使用現有的Python代碼,還是應制定計畫將其移植到Python 3?
作者介紹
David M. Beazley 早在1996年就開始使用Python編程。在洛斯阿莫斯國家實驗室工作期間,他教會很多志願者用Python編寫科學計算軟體。他創辦的Dabeaz 公司提供軟體開發、培訓和諮詢服務,專長於Python、Ruby、Perl等動態程式語言的實際套用。他是Python軟體基金會的會員。
作品目錄
第一部分 Python語言
第1章 Python簡介 2
1.1 運行Python 2
1.2 變數和算術表達式 3
1.3 條件語句 5
1.4 檔案輸入和輸出 6
1.5 字元串 7
1.6 列表 8
1.7 元組 9
1.8 集合 10
1.9 字典 11
1.10 疊代與循環 12
1.11 函式 13
1.12 生成器 14
1.13 協程 15
1.14 對象與類 16
1.15 異常 17
1.16 模組 18
1.17 獲得幫助 19
第2章 辭彙和語法約定 20
2.1 行結構和縮進 20
2.2 標識符和保留字 21
2.3 數字字面量 21
2.4 字元串字面量 22
2.5 容器 23
2.6 運算符、分隔設定及特殊符號 24
2.7 文檔字元串 24
2.8 裝飾器 24
2.9 原始碼編碼 25
第3章 類型與對象 26
3.1 術語 26
3.2 對象的身份與類型 26
3.3 引用計數與垃圾收集 27
3.4 引用與複製 28
3.5 第一類對象 29
3.6 表示數據的內置類型 30
3.6.1 None類型 30
3.6.2 數字類型 31
3.6.3 序列類型 31
3.6.4 映射類型 35
3.6.5 集合類型 36
3.7 表示程式結構的內置類型 37
3.7.1 可調用類型 38
3.7.2 類、類型與實例 40
3.7.3 模組 41
3.8 解釋器內部使用的內置類型 41
3.8.1 代碼對象 41
3.8.2 幀對象 42
3.8.3 跟蹤對象 42
3.8.4 生成器對象 43
3.8.5 切片對象 43
3.8.6 Ellipsis對象 43
3.9 對象行為與特殊方法 44
3.9.1 對象的創建與銷毀 44
3.9.2 對象字元串表示 44
3.9.3 對象比較與排序 45
3.9.4 類型檢查 46
3.9.5 屬性訪問 46
3.9.6 屬性包裝與描述符 46
3.9.7 序列與映射方法 47
3.9.8 疊代 48
3.9.9 數學操作 48
3.9.10 可調用接口 50
3.9.11 上下文管理協定 50
3.9.12 對象檢查與dir() 51
第4章 運算符與表達式 52
4.1 數字操作 52
4.2 序列操作 53
4.3 字元串格式化 56
4.4 高級字元串格式化 57
4.5 字典操作 59
4.6 集合操作 60
4.7 增量賦值 60
4.8 屬性(.)運算符 61
4.9 函式調用()運算符 61
4.10 轉換函式 61
4.11 布爾表達式與真值 62
4.12 對象的比較與身份 63
4.13 運算優先權 63
4.14 條件表達式 64
第5章 程式結構與控制流 65
5.1 程式結構與執行 65
5.2 執行條件語句 65
5.3 循環與疊代 66
5.4 異常 68
5.4.1 內置異常 70
5.4.2 定義新異常 71
5.5 上下文管理器與with語句 72
5.6 斷言與__debug__ 73
第6章 函式與函式編程 75
6.1 函式 75
6.2 參數傳遞與返回值 77
6.3 作用域規則 77
6.4 函式對象與閉包 79
6.5 裝飾器 82
6.6 生成器與yield 83
6.7 協程與yield表達式 85
6.8 使用生成器與協程 87
6.9 列表包含 89
6.10 生成器表達式 90
6.11 聲明式編程 91
6.12 lambda運算符 92
6.13 遞歸 92
6.14 文檔字元串 93
6.15 函式屬性 94
6.16 eval()、exec()和compile()函式 94
第7章 類與面向對象編程 96
7.1 class語句 96
7.2 類實例 97
7.3 範圍規則 97
7.4 繼承 98
7.5 多態動態綁定和鴨子類型 100
7.6 靜態方法和類方法 101
7.7 特性 102
7.8 描述符 104
7.9 數據封裝和私有屬性 105
7.10 對象記憶體管理 106
7.11 對象表示和屬性綁定 108
7.12 __slots__ 109
7.13 運算符重載 110
7.14 類型和類成員測試 111
7.15 抽象基類 113
7.16 元類 114
7.17 類裝飾器 117
第8章 模組、包與分發 118
8.1 模組與import語句 118
8.2 從模組導入選定符號 119
8.3 以主程式的形式執行 120
8.4 模組搜尋路徑 121
8.5 模組載入和編譯 121
8.6 模組重新載入和卸載 122
8.7 包 123
8.8 分發Python程式和庫 125
8.9 安裝第三方庫 127
第9章 輸入與輸出 129
9.1 讀取命令行選項 129
9.2 環境變數 130
9.3 檔案和檔案對象 130
9.4 標準輸入、輸出和錯誤 133
9.5 print語句 133
9.6 print()函式 134
9.7 文本輸出中的變數插入 134
9.8 生成輸出 135
9.9 Unicode字元串處理 136
9.10 Unicode I/O 137
9.10.1 Unicode數據編碼 138
9.10.2 Unicode字元特性 140
9.11 對象持久性與pickle模組 140
第10章 執行環境 142
10.1 解釋器選項與環境 142
10.2 互動式會話 144
10.3 啟動Python應用程式 145
10.4 站點配置檔案 145
10.5 用戶站點包 146
10.6 啟用新功能 146
10.7 程式終止 147
第11章 測試、調試、探查與調優 149
11.1 文檔字元串和doctest模組 149
11.2 單元測試和unittest模組 151
11.3 Python調試器和pdb模組 153
11.3.1 調試器命令 153
11.3.2 從命令行進行調試 156
11.3.3 配置調試器 156
11.4 程式探查 156
11.5 調優與最佳化 157
11.5.1 進行計時測量 157
11.5.2 進行記憶體測量 158
11.5.3 反彙編 158
11.5.4 調優策略 159
第二部分 Python庫
第12章 內置函式和異常 164
12.1 內置函式和類型 164
12.2 內置異常 172
12.2.1 異常基類 172
12.2.2 異常實例 173
12.2.3 預定義的異常類 173
12.3 內置警告 176
12.4 future_builtins 176
第13章 Python運行時服務 178
13.1 atexit 178
13.2 copy 178
13.3 gc 179
13.4 inspect 180
13.5 marshal 183
13.6 pickle 184
13.7 SYS 186
13.7.1 變數 186
13.7.2 函式 189
13.8 traceback 191
13.9 types 192
13.10 warnings 193
13.11 weakref 194
第14章 數學運算 197
14.1 decimal 197
14.1.1 Decimal對象 197
14.1.2 Context對象 198
14.1.3 函式和常量 200
14.1.4 示例 201
14.2 fractions 202
14.3 math 203
14.4 numbers 205
14.5 random 206
14.5.1 種子和初始化 206
14.5.2 隨機整數 206
14.5.3 隨機序列 206
14.5.4 實值隨機分布 207
第15章 數據結構、算法與代碼簡化 209
15.1 abc 209
15.2 array 210
15.3 bisect 212
15.4 collections 213
15.4.1 deque和defaultdict 213
15.4.2 命名元組 214
15.4.3 抽象基類 216
15.5 contextlib 217
15.6 functools 218
15.7 heapq 219
15.8 itertools 220
15.9 operator 222
第16章 字元串和文本處理 225
16.1 odecs 225
16.1.1 低級codecs接口 225
16.1.2 I/O相關函式 226
16.1.3 有用的常量 227
16.1.4 標準編碼 227
16.1.5 注意 228
16.2 re 228
16.2.1 模式語法 228
16.2.2 函式 229
16.2.3 正則表達式對象 231
16.2.4 匹配對象 231
16.2.5 示例 232
16.2.6 注意 233
16.3 string 233
16.3.1 常量 233
16.3.2 Formatter對象 233
16.3.3 Template字元串 235
16.3.4 實用工具函式 235
16.4 struct 235
16.4.1 打包和解包函式 236
16.4.2 Struct對象 236
16.4.3 格式編碼 236
16.4.4 注意 237
16.5 unicodedata 238
第17章 Python資料庫訪問 241
17.1 關係資料庫API規範 241
17.1.1 連線 241
17.1.2 Cursor 242
17.1.3 生成查詢 243
17.1.4 類型對象 244
17.1.5 錯誤處理 245
17.1.6 多執行緒 245
17.1.7 將結果映射到字典中 246
17.1.8 資料庫API擴展 246
17.2 sqlite3模組 246
17.2.1 模組級函式 246
17.2.2 連線對象 248
17.2.3 游標和基本操作 250
17.3 DBM風格的資料庫模組 252
17.4 shelve模組 253
第18章 檔案和目錄處理 254
18.1 bz2 254
18.2 filecmp 255
18.3 fnmatch 256
18.4 glob 257
18.5 gzip 257
18.6 shutil 258
18.7 tarfile 259
18.7.1 異常 261
18.7.2 示例 262
18.8 tempfile 262
18.9 zipfile 263
18.10 zlib 266
第19章 作業系統服務 268
19.1 Commands模組 268
19.2 ConfigParser、configparser模組 269
19.2.1 ConfigParser類 269
19.2.2 示例 270
19.2.3 注意 272
19.3 datetime模組 272
19.3.1 date對象 272
19.3.2 time對象 273
19.3.3 datetime對象 274
19.3.4 timedelta對象 275
19.3.5 涉及日期的數學運算 276
19.3.6 tzinfo對象 277
19.3.7 日期與時間解析 278
19.4 errno模組 278
19.4.1 POSIX錯誤代碼 278
19.4.2 Windows錯誤代碼 279
19.5 fcntl模組 280
19.5.1 示例 281
19.5.2 注意 282
19.6 io模組 282
19.6.1 基本I/O接口 282
19.6.2 原始I/O 282
19.6.3 快取二進制I/O 283
19.6.4 文本I/O 285
19.6.5 open()函式 285
19.6.6 抽象基類 286
19.7 logging模組 286
19.7.1 日誌記錄級別 286
19.7.2 基本配置 287
19.7.3 Logger對象 288
19.7.4 處理器對象 292
19.7.5 訊息格式化 295
19.7.6 各種實用工具函式 296
19.7.7 日誌記錄配置 296
19.7.8 性能考慮 299
19.7.9 注意 299
19.8 mmap模組 299
19.9 msvcrt模組 301
19.10 optparse模組 303
19.10.1 例子 305
19.10.2 注意 306
19.11 os模組 307
19.11.1 進程環境 307
19.11.2 檔案創建與檔案描述符 309
19.11.3 檔案與目錄 313
19.11.4 進程管理 316
19.11.5 系統配置 320
19.11.6 異常 321
19.12 os.path模組 321
19.13 signal模組 323
19.13.1 例子 325
19.13.2 注意 325
19.14 subprocess模組 326
19.14.1 例子 327
19.14.2 注意 328
19.15 time模組 328
19.16 winreg模組 331
第20章 執行緒與並發性 334
20.1 基本概念 334
20.2 並發編程與Python 335
20.3 multiprocessing模組 336
20.3.1 進程 336
20.3.2 進程間通信 337
20.3.3 進程池 343
20.3.4 共享數據與同步 345
20.3.5 託管對象 347
20.3.6 連線 352
20.3.7 各種實用工具函式 353
20.3.8 多進程處理的一般建議 353
20.4 threading模組 354
20.4.1 Thread對象 354
20.4.2 Timer對象 356
20.4.3 Lock對象 356
20.4.4 RLock 356
20.4.5 信號量與有邊界的信號量 357
20.4.6 事件 358
20.4.7 條件變數 358
20.4.8 使用Lock 359
20.4.9 執行緒終止與掛起 360
20.4.10 實用工具函式 361
20.4.11 全局解釋器鎖定 361
20.4.12 使用執行緒編程 361
20.5 queue、Queue模組 362
20.6 協程與微執行緒 364
第21章 網路編程和套接字 365
21.1 網路編程基礎 365
21.2 asynchat模組 367
21.3 asyncore模組 370
21.4 select 374
21.4.1 高級模組功能 375
21.4.2 高級異步I/O示例 375
21.4.3 異步聯網的時機 381
21.5 socket 383
21.5.1 地址族 383
21.5.2 套接字類型 383
21.5.3 定址 384
21.5.4 函式 385
21.5.5 異常 395
21.5.6 示例 395
21.5.7 注意 396
21.6 ssl 396
21.7 SocketServer 399
21.7.1 處理程式 399
21.7.2 伺服器 400
21.7.3 定義自定義伺服器 401
21.7.4 自定義套用伺服器 403
第22章 Internet應用程式編程 404
22.1 ftplib 404
22.2 http包 407
22.2.1 http.client(httplib) 408
22.2.2 http.server(BaseHTTP-Server,CGIHTTPServer,SimpleHTTP Server) 412
22.2.3 http.cookies(Cookie) 416
22.2.4 http.cookiejar(cookielib) 418
22.3 smtplib 418
22.4 urllib包 419
22.4.1 urllib.request(urllib2) 419
22.4.2 urllib.response 423
22.4.3 urllib.parse 424
22.4.4 urllib.error 426
22.4.5 urllib.robotparser(robotparser) 427
22.4.6 注意 427
22.5 xmlrpc包 427
22.5.1 xmlrpc.client(xmlrpclib) 427
22.5.2 xmlrpc.server(Simple-XMLRPCServer,DocXMLR-PCServer) 430
第23章 Web編程 433
23.1 cgi 435
23.1.1 CGI編程建議 438
23.1.2 注意 439
23.2 cgitb 440
23.3 wsgiref 440
23.3.1 WSGI規範 440
23.3.2 wsgiref包 442
23.4 webbrowser 444
第24章 Internet數據處理和編碼 445
24.1 base64 445
24.2 binascii 447
24.3 CSV 447
24.3.1 方言 449
24.3.2 示例 450
24.4 email包 450
24.4.1 解析電子郵件 450
24.4.2 編寫電子郵件 453
24.4.3 注意 456
24.5 hashlib 456
24.6 hmac 456
24.7 HTMLParser 457
24.8 json 460
24.9 mimetypes 462
24.10 quopri 463
24.11 xml包 463
24.11.1 XML示例文檔 464
24.11.2 xml.dom.minidom 465
24.11.3 xml.etree.ElementTree 467
24.11.4 xml.sax 473
24.11.5 xml.sax.saxutils 476
第25章 其他庫模組 477
25.1 Python服務 477
25.2 字元串處理 478
25.3 作業系統模組 478
25.4 網路 478
25.5 Internet數據處理 478
25.6 國際化 479
25.7 多媒體服務 479
25.8 其他 479
第三部分 擴展與嵌入
第26章 擴展與嵌入Python 482
26.1 擴展模組 482
26.1.1 擴展模組原型 484
26.1.2 命名擴展模組 486
26.1.3 編譯與打包擴展 486
26.1.4 從Python到C語言的類型轉換 488
26.1.5 從C到Python的類型轉換 492
26.1.6 給模組添加值 493
26.1.7 錯誤處理 494
26.1.8 引用計數 495
26.1.9 執行緒 496
26.2 嵌入Python解釋器 496
26.2.1 嵌入模板 497
26.2.2 編譯與連結 497
26.2.3 基本的解釋器操作與設定 497
26.2.4 在C語言中訪問Python 498
26.2.5 將Python對象轉換為C對象 499
26.3 ctypes 500
26.3.1 載入共享庫 500
26.3.2 外來函式 500
26.3.3 數據類型 501
26.3.4 調用外來函式 502
26.3.5 其他類型構造方法 503
26.3.6 實用工具函式 504
26.3.7 示例 505
26.4 高級擴展與嵌入 506
26.5 Jython和IronPython 507
附錄 Python 3 508
第1章 Python簡介 2
1.1 運行Python 2
1.2 變數和算術表達式 3
1.3 條件語句 5
1.4 檔案輸入和輸出 6
1.5 字元串 7
1.6 列表 8
1.7 元組 9
1.8 集合 10
1.9 字典 11
1.10 疊代與循環 12
1.11 函式 13
1.12 生成器 14
1.13 協程 15
1.14 對象與類 16
1.15 異常 17
1.16 模組 18
1.17 獲得幫助 19
第2章 辭彙和語法約定 20
2.1 行結構和縮進 20
2.2 標識符和保留字 21
2.3 數字字面量 21
2.4 字元串字面量 22
2.5 容器 23
2.6 運算符、分隔設定及特殊符號 24
2.7 文檔字元串 24
2.8 裝飾器 24
2.9 原始碼編碼 25
第3章 類型與對象 26
3.1 術語 26
3.2 對象的身份與類型 26
3.3 引用計數與垃圾收集 27
3.4 引用與複製 28
3.5 第一類對象 29
3.6 表示數據的內置類型 30
3.6.1 None類型 30
3.6.2 數字類型 31
3.6.3 序列類型 31
3.6.4 映射類型 35
3.6.5 集合類型 36
3.7 表示程式結構的內置類型 37
3.7.1 可調用類型 38
3.7.2 類、類型與實例 40
3.7.3 模組 41
3.8 解釋器內部使用的內置類型 41
3.8.1 代碼對象 41
3.8.2 幀對象 42
3.8.3 跟蹤對象 42
3.8.4 生成器對象 43
3.8.5 切片對象 43
3.8.6 Ellipsis對象 43
3.9 對象行為與特殊方法 44
3.9.1 對象的創建與銷毀 44
3.9.2 對象字元串表示 44
3.9.3 對象比較與排序 45
3.9.4 類型檢查 46
3.9.5 屬性訪問 46
3.9.6 屬性包裝與描述符 46
3.9.7 序列與映射方法 47
3.9.8 疊代 48
3.9.9 數學操作 48
3.9.10 可調用接口 50
3.9.11 上下文管理協定 50
3.9.12 對象檢查與dir() 51
第4章 運算符與表達式 52
4.1 數字操作 52
4.2 序列操作 53
4.3 字元串格式化 56
4.4 高級字元串格式化 57
4.5 字典操作 59
4.6 集合操作 60
4.7 增量賦值 60
4.8 屬性(.)運算符 61
4.9 函式調用()運算符 61
4.10 轉換函式 61
4.11 布爾表達式與真值 62
4.12 對象的比較與身份 63
4.13 運算優先權 63
4.14 條件表達式 64
第5章 程式結構與控制流 65
5.1 程式結構與執行 65
5.2 執行條件語句 65
5.3 循環與疊代 66
5.4 異常 68
5.4.1 內置異常 70
5.4.2 定義新異常 71
5.5 上下文管理器與with語句 72
5.6 斷言與__debug__ 73
第6章 函式與函式編程 75
6.1 函式 75
6.2 參數傳遞與返回值 77
6.3 作用域規則 77
6.4 函式對象與閉包 79
6.5 裝飾器 82
6.6 生成器與yield 83
6.7 協程與yield表達式 85
6.8 使用生成器與協程 87
6.9 列表包含 89
6.10 生成器表達式 90
6.11 聲明式編程 91
6.12 lambda運算符 92
6.13 遞歸 92
6.14 文檔字元串 93
6.15 函式屬性 94
6.16 eval()、exec()和compile()函式 94
第7章 類與面向對象編程 96
7.1 class語句 96
7.2 類實例 97
7.3 範圍規則 97
7.4 繼承 98
7.5 多態動態綁定和鴨子類型 100
7.6 靜態方法和類方法 101
7.7 特性 102
7.8 描述符 104
7.9 數據封裝和私有屬性 105
7.10 對象記憶體管理 106
7.11 對象表示和屬性綁定 108
7.12 __slots__ 109
7.13 運算符重載 110
7.14 類型和類成員測試 111
7.15 抽象基類 113
7.16 元類 114
7.17 類裝飾器 117
第8章 模組、包與分發 118
8.1 模組與import語句 118
8.2 從模組導入選定符號 119
8.3 以主程式的形式執行 120
8.4 模組搜尋路徑 121
8.5 模組載入和編譯 121
8.6 模組重新載入和卸載 122
8.7 包 123
8.8 分發Python程式和庫 125
8.9 安裝第三方庫 127
第9章 輸入與輸出 129
9.1 讀取命令行選項 129
9.2 環境變數 130
9.3 檔案和檔案對象 130
9.4 標準輸入、輸出和錯誤 133
9.5 print語句 133
9.6 print()函式 134
9.7 文本輸出中的變數插入 134
9.8 生成輸出 135
9.9 Unicode字元串處理 136
9.10 Unicode I/O 137
9.10.1 Unicode數據編碼 138
9.10.2 Unicode字元特性 140
9.11 對象持久性與pickle模組 140
第10章 執行環境 142
10.1 解釋器選項與環境 142
10.2 互動式會話 144
10.3 啟動Python應用程式 145
10.4 站點配置檔案 145
10.5 用戶站點包 146
10.6 啟用新功能 146
10.7 程式終止 147
第11章 測試、調試、探查與調優 149
11.1 文檔字元串和doctest模組 149
11.2 單元測試和unittest模組 151
11.3 Python調試器和pdb模組 153
11.3.1 調試器命令 153
11.3.2 從命令行進行調試 156
11.3.3 配置調試器 156
11.4 程式探查 156
11.5 調優與最佳化 157
11.5.1 進行計時測量 157
11.5.2 進行記憶體測量 158
11.5.3 反彙編 158
11.5.4 調優策略 159
第二部分 Python庫
第12章 內置函式和異常 164
12.1 內置函式和類型 164
12.2 內置異常 172
12.2.1 異常基類 172
12.2.2 異常實例 173
12.2.3 預定義的異常類 173
12.3 內置警告 176
12.4 future_builtins 176
第13章 Python運行時服務 178
13.1 atexit 178
13.2 copy 178
13.3 gc 179
13.4 inspect 180
13.5 marshal 183
13.6 pickle 184
13.7 SYS 186
13.7.1 變數 186
13.7.2 函式 189
13.8 traceback 191
13.9 types 192
13.10 warnings 193
13.11 weakref 194
第14章 數學運算 197
14.1 decimal 197
14.1.1 Decimal對象 197
14.1.2 Context對象 198
14.1.3 函式和常量 200
14.1.4 示例 201
14.2 fractions 202
14.3 math 203
14.4 numbers 205
14.5 random 206
14.5.1 種子和初始化 206
14.5.2 隨機整數 206
14.5.3 隨機序列 206
14.5.4 實值隨機分布 207
第15章 數據結構、算法與代碼簡化 209
15.1 abc 209
15.2 array 210
15.3 bisect 212
15.4 collections 213
15.4.1 deque和defaultdict 213
15.4.2 命名元組 214
15.4.3 抽象基類 216
15.5 contextlib 217
15.6 functools 218
15.7 heapq 219
15.8 itertools 220
15.9 operator 222
第16章 字元串和文本處理 225
16.1 odecs 225
16.1.1 低級codecs接口 225
16.1.2 I/O相關函式 226
16.1.3 有用的常量 227
16.1.4 標準編碼 227
16.1.5 注意 228
16.2 re 228
16.2.1 模式語法 228
16.2.2 函式 229
16.2.3 正則表達式對象 231
16.2.4 匹配對象 231
16.2.5 示例 232
16.2.6 注意 233
16.3 string 233
16.3.1 常量 233
16.3.2 Formatter對象 233
16.3.3 Template字元串 235
16.3.4 實用工具函式 235
16.4 struct 235
16.4.1 打包和解包函式 236
16.4.2 Struct對象 236
16.4.3 格式編碼 236
16.4.4 注意 237
16.5 unicodedata 238
第17章 Python資料庫訪問 241
17.1 關係資料庫API規範 241
17.1.1 連線 241
17.1.2 Cursor 242
17.1.3 生成查詢 243
17.1.4 類型對象 244
17.1.5 錯誤處理 245
17.1.6 多執行緒 245
17.1.7 將結果映射到字典中 246
17.1.8 資料庫API擴展 246
17.2 sqlite3模組 246
17.2.1 模組級函式 246
17.2.2 連線對象 248
17.2.3 游標和基本操作 250
17.3 DBM風格的資料庫模組 252
17.4 shelve模組 253
第18章 檔案和目錄處理 254
18.1 bz2 254
18.2 filecmp 255
18.3 fnmatch 256
18.4 glob 257
18.5 gzip 257
18.6 shutil 258
18.7 tarfile 259
18.7.1 異常 261
18.7.2 示例 262
18.8 tempfile 262
18.9 zipfile 263
18.10 zlib 266
第19章 作業系統服務 268
19.1 Commands模組 268
19.2 ConfigParser、configparser模組 269
19.2.1 ConfigParser類 269
19.2.2 示例 270
19.2.3 注意 272
19.3 datetime模組 272
19.3.1 date對象 272
19.3.2 time對象 273
19.3.3 datetime對象 274
19.3.4 timedelta對象 275
19.3.5 涉及日期的數學運算 276
19.3.6 tzinfo對象 277
19.3.7 日期與時間解析 278
19.4 errno模組 278
19.4.1 POSIX錯誤代碼 278
19.4.2 Windows錯誤代碼 279
19.5 fcntl模組 280
19.5.1 示例 281
19.5.2 注意 282
19.6 io模組 282
19.6.1 基本I/O接口 282
19.6.2 原始I/O 282
19.6.3 快取二進制I/O 283
19.6.4 文本I/O 285
19.6.5 open()函式 285
19.6.6 抽象基類 286
19.7 logging模組 286
19.7.1 日誌記錄級別 286
19.7.2 基本配置 287
19.7.3 Logger對象 288
19.7.4 處理器對象 292
19.7.5 訊息格式化 295
19.7.6 各種實用工具函式 296
19.7.7 日誌記錄配置 296
19.7.8 性能考慮 299
19.7.9 注意 299
19.8 mmap模組 299
19.9 msvcrt模組 301
19.10 optparse模組 303
19.10.1 例子 305
19.10.2 注意 306
19.11 os模組 307
19.11.1 進程環境 307
19.11.2 檔案創建與檔案描述符 309
19.11.3 檔案與目錄 313
19.11.4 進程管理 316
19.11.5 系統配置 320
19.11.6 異常 321
19.12 os.path模組 321
19.13 signal模組 323
19.13.1 例子 325
19.13.2 注意 325
19.14 subprocess模組 326
19.14.1 例子 327
19.14.2 注意 328
19.15 time模組 328
19.16 winreg模組 331
第20章 執行緒與並發性 334
20.1 基本概念 334
20.2 並發編程與Python 335
20.3 multiprocessing模組 336
20.3.1 進程 336
20.3.2 進程間通信 337
20.3.3 進程池 343
20.3.4 共享數據與同步 345
20.3.5 託管對象 347
20.3.6 連線 352
20.3.7 各種實用工具函式 353
20.3.8 多進程處理的一般建議 353
20.4 threading模組 354
20.4.1 Thread對象 354
20.4.2 Timer對象 356
20.4.3 Lock對象 356
20.4.4 RLock 356
20.4.5 信號量與有邊界的信號量 357
20.4.6 事件 358
20.4.7 條件變數 358
20.4.8 使用Lock 359
20.4.9 執行緒終止與掛起 360
20.4.10 實用工具函式 361
20.4.11 全局解釋器鎖定 361
20.4.12 使用執行緒編程 361
20.5 queue、Queue模組 362
20.6 協程與微執行緒 364
第21章 網路編程和套接字 365
21.1 網路編程基礎 365
21.2 asynchat模組 367
21.3 asyncore模組 370
21.4 select 374
21.4.1 高級模組功能 375
21.4.2 高級異步I/O示例 375
21.4.3 異步聯網的時機 381
21.5 socket 383
21.5.1 地址族 383
21.5.2 套接字類型 383
21.5.3 定址 384
21.5.4 函式 385
21.5.5 異常 395
21.5.6 示例 395
21.5.7 注意 396
21.6 ssl 396
21.7 SocketServer 399
21.7.1 處理程式 399
21.7.2 伺服器 400
21.7.3 定義自定義伺服器 401
21.7.4 自定義套用伺服器 403
第22章 Internet應用程式編程 404
22.1 ftplib 404
22.2 http包 407
22.2.1 http.client(httplib) 408
22.2.2 http.server(BaseHTTP-Server,CGIHTTPServer,SimpleHTTP Server) 412
22.2.3 http.cookies(Cookie) 416
22.2.4 http.cookiejar(cookielib) 418
22.3 smtplib 418
22.4 urllib包 419
22.4.1 urllib.request(urllib2) 419
22.4.2 urllib.response 423
22.4.3 urllib.parse 424
22.4.4 urllib.error 426
22.4.5 urllib.robotparser(robotparser) 427
22.4.6 注意 427
22.5 xmlrpc包 427
22.5.1 xmlrpc.client(xmlrpclib) 427
22.5.2 xmlrpc.server(Simple-XMLRPCServer,DocXMLR-PCServer) 430
第23章 Web編程 433
23.1 cgi 435
23.1.1 CGI編程建議 438
23.1.2 注意 439
23.2 cgitb 440
23.3 wsgiref 440
23.3.1 WSGI規範 440
23.3.2 wsgiref包 442
23.4 webbrowser 444
第24章 Internet數據處理和編碼 445
24.1 base64 445
24.2 binascii 447
24.3 CSV 447
24.3.1 方言 449
24.3.2 示例 450
24.4 email包 450
24.4.1 解析電子郵件 450
24.4.2 編寫電子郵件 453
24.4.3 注意 456
24.5 hashlib 456
24.6 hmac 456
24.7 HTMLParser 457
24.8 json 460
24.9 mimetypes 462
24.10 quopri 463
24.11 xml包 463
24.11.1 XML示例文檔 464
24.11.2 xml.dom.minidom 465
24.11.3 xml.etree.ElementTree 467
24.11.4 xml.sax 473
24.11.5 xml.sax.saxutils 476
第25章 其他庫模組 477
25.1 Python服務 477
25.2 字元串處理 478
25.3 作業系統模組 478
25.4 網路 478
25.5 Internet數據處理 478
25.6 國際化 479
25.7 多媒體服務 479
25.8 其他 479
第三部分 擴展與嵌入
第26章 擴展與嵌入Python 482
26.1 擴展模組 482
26.1.1 擴展模組原型 484
26.1.2 命名擴展模組 486
26.1.3 編譯與打包擴展 486
26.1.4 從Python到C語言的類型轉換 488
26.1.5 從C到Python的類型轉換 492
26.1.6 給模組添加值 493
26.1.7 錯誤處理 494
26.1.8 引用計數 495
26.1.9 執行緒 496
26.2 嵌入Python解釋器 496
26.2.1 嵌入模板 497
26.2.2 編譯與連結 497
26.2.3 基本的解釋器操作與設定 497
26.2.4 在C語言中訪問Python 498
26.2.5 將Python對象轉換為C對象 499
26.3 ctypes 500
26.3.1 載入共享庫 500
26.3.2 外來函式 500
26.3.3 數據類型 501
26.3.4 調用外來函式 502
26.3.5 其他類型構造方法 503
26.3.6 實用工具函式 504
26.3.7 示例 505
26.4 高級擴展與嵌入 506
26.5 Jython和IronPython 507
附錄 Python 3 508