Python核心編程(第二版)是一本python基礎(chǔ)教程指南,python核心編程實(shí)例指導(dǎo),對(duì)wxpython數(shù)據(jù)庫(kù)充分的講解,不可錯(cuò)過的編程實(shí)踐寶典! 在第一版的基礎(chǔ)上進(jìn)行了全面升級(jí)。全書分為兩個(gè)部分:第1部分占據(jù)了大約三分之二的篇幅,闡釋這門語(yǔ)言的“核心”內(nèi)容,包括基本的概念和語(yǔ)句、語(yǔ)法和風(fēng)格、Python對(duì)象、數(shù)字類型、序列類型、映射和集合類型、條件和循環(huán)、文件和輸入/輸出、錯(cuò)誤和異常、函數(shù)和函數(shù)式編程、模塊、面向?qū)ο缶幊、?zhí)行環(huán)境等內(nèi)容:第2部分則提供了各種高級(jí)主題來展示可以使用Python做些什么,包括正則表達(dá)式、網(wǎng)絡(luò)編程、網(wǎng)絡(luò)客戶端編程、多線程編程、圖形用戶界面編程、Web編程、數(shù)據(jù)庫(kù)編程、擴(kuò)展Python 和一些其他材料!
開篇將介紹一些Python的背景知識(shí),包括什么是Python、Python的起源和它的一些關(guān)鍵特性。一旦你來了興致,我們就會(huì)向你介紹怎樣獲得Python,以及如何在你的系統(tǒng)上安裝并運(yùn)行它。本章最后的練習(xí)將會(huì)幫助你非常自如地使用Python,包括使用交互式解釋器,以及創(chuàng)建并運(yùn)行腳本程序。
python核心編程第二版目錄
第1部分 Python核心
第1章 歡迎來到Python世界 3
1.1 什么是Python 4
1.2 起源 4
1.3 特點(diǎn) 4
1.3.1 高級(jí) 4
1.3.2 面向?qū)ο蟆?
1.3.3 可升級(jí) 5
1.3.4 可擴(kuò)展 5
1.3.5 可移植性 5
1.3.6 易學(xué) 6
1.3.7 易讀 6
1.3.8 易維護(hù) 6
1.3.9 健壯性 6
1.3.10 高效的快速原型開發(fā)工具 6
1.3.11 內(nèi)存管理器 7
1.3.12 解釋性和(字節(jié))編譯性 7
1.4 下載和安裝Python 7
1.5 運(yùn)行Python 8
1.5.1 命令行上的交互式解釋器 9
1.5.2 從命令行啟動(dòng)腳本 10
1.5.3 集成開發(fā)環(huán)境 11
1.5.4 其他的集成開發(fā)環(huán)境和執(zhí)行環(huán)境 14
1.6 Python文檔 15
1.7 比較Python(Python與其他語(yǔ)言的比較) 15
1.8 其他實(shí)現(xiàn) 17
1.9 練習(xí) 18
第2章 快速入門 19
2.1 程序輸出,print語(yǔ)句及“Hello World!” 20
2.2 程序輸入和raw_input()內(nèi)建函數(shù) 21
2.3 注釋 22
2.4 操作符 22
2.5 變量和賦值 24
2.6 數(shù)字 24
2.7 字符串 25
2.8 列表和元組 26
2.9 字典 26
2.10 代碼塊及縮進(jìn)對(duì)齊 27
2.11 if語(yǔ)句 27
2.12 while循環(huán) 28
2.13 for循環(huán)和range()內(nèi)建函數(shù) 28
2.14 列表解析 30
2.15 文件和內(nèi)建函數(shù)open()、file() 30
2.16 錯(cuò)誤和異!31
2.17 函數(shù) 32
2.17.1 如何定義函數(shù) 32
2.17.2 如何調(diào)用函數(shù) 32
2.17.3 默認(rèn)參數(shù) 33
2.18 類 33
2.19 模塊 35
2.19.1 如何導(dǎo)入模塊 35
2.19.2 如何訪問一個(gè)模塊函數(shù)或訪問一個(gè)模塊變量 35
2.20 實(shí)用的函數(shù) 36
2.21 練習(xí) 36
第3章 Python基礎(chǔ) 39
3.1 語(yǔ)句和語(yǔ)法 40
3.1.1 注釋(#) 40
3.1.2 繼續(xù)(\) 40
3.1.3 多個(gè)語(yǔ)句構(gòu)成代碼組(:) 41
3.1.4 代碼組由不同的縮進(jìn)分隔 41
3.1.5 同一行書寫多個(gè)語(yǔ)句(;) 41
3.1.6 模塊 41
3.2 變量賦值 42
3.2.1 賦值操作符 42
3.2.2 增量賦值 42
3.2.3 多重賦值 43
3.2.4 “多元”賦值 43
3.3 標(biāo)識(shí)符 44
3.3.1 合法的Python標(biāo)識(shí)符 44
3.3.2 關(guān)鍵字 44
3.3.3 內(nèi)建 45
3.3.4 專用下劃線標(biāo)識(shí)符 45
3.4 基本風(fēng)格指南 45
3.4.1 模塊結(jié)構(gòu)和布局 46
3.4.2 在主程序中書寫測(cè)試代碼 48
3.5 內(nèi)存管理 49
3.5.1 變量定義 49
3.5.2 動(dòng)態(tài)類型 49
3.5.3 內(nèi)存分配 49
3.5.4 引用計(jì)數(shù) 50
3.5.5 垃圾收集 51
3.6 第一個(gè)Python程序 51
3.7 相關(guān)模塊和開發(fā)工具 54
3.8 練習(xí) 55
第4章 Python對(duì)象 56
4.1 Python 對(duì)象 57
4.2 標(biāo)準(zhǔn)類型 57
4.3 其他內(nèi)建類型 58
4.3.1 類型對(duì)象和type類型對(duì)象 58
4.3.2 None--Python的Null對(duì)象 58
4.4 內(nèi)部類型 59
4.4.1 代碼對(duì)象 59
4.4.2 幀對(duì)象 60
4.4.3 跟蹤記錄對(duì)象 60
4.4.4 切片對(duì)象 60
4.4.5 省略對(duì)象 60
4.4.6 XRange 對(duì)象 60
4.5 標(biāo)準(zhǔn)類型操作符 61
4.5.1 對(duì)象值的比較 61
4.5.2 對(duì)象身份比較 61
4.5.3 布爾類型 64
4.6 標(biāo)準(zhǔn)類型內(nèi)建函數(shù) 64
4.6.1 type() 64
4.6.2 cmp() 65
4.6.3 str()和repr()(及``操作符) 66
4.6.4 type()和isinstance() 67
4.6.5 Python類型操作符和內(nèi)建函數(shù)總結(jié) 70
4.7 類型工廠函數(shù) 70
4.8 標(biāo)準(zhǔn)類型的分類 71
4.8.1 存儲(chǔ)模型 71
4.8.2 更新模型 72
4.8.3 訪問模型 73
4.9 不支持的類型 74
4.10 練習(xí) 75
第5章 數(shù)字 76
5.1 數(shù)字簡(jiǎn)介 77
5.1.1 如何創(chuàng)建數(shù)值對(duì)象并用其賦值(數(shù)字對(duì)象) 77
5.1.2 如何更新數(shù)字對(duì)象 77
5.1.3 如何刪除數(shù)字對(duì)象 77
5.2 整型 77
5.2.1 布爾型 78
5.2.2 標(biāo)準(zhǔn)整型 78
5.2.3 長(zhǎng)整型 78
5.2.4 整型和長(zhǎng)整型的統(tǒng)一 79
5.3 雙精度浮點(diǎn)型 79
5.4 復(fù)數(shù) 80
5.5 操作符 81
5.5.1 混合模式操作符 81
5.5.2 標(biāo)準(zhǔn)類型操作符 82
5.5.3 算術(shù)操作符 82
5.5.4 *位操作符(只適用于整型) 86
5.6 內(nèi)建函數(shù)與工廠函數(shù) 87
5.6.1 標(biāo)準(zhǔn)類型函數(shù) 87
5.6.2 數(shù)字類型函數(shù) 87
5.6.3 僅用于整型的函數(shù) 92
5.7 其他數(shù)字類型 93
5.7.1 布爾“數(shù)” 93
5.7.2 十進(jìn)制浮點(diǎn)型 94
5.8 相關(guān)模塊 95
5.9 練習(xí) 97
第6章 序列:字符串、列表和元組 100
6.1 序列 101
6.1.1 標(biāo)準(zhǔn)類型操作符 101
6.1.2 序列類型操作符 101
6.1.3 內(nèi)建函數(shù)(BIF) 106
6.2 字符串 107
6.3 字符串和操作符 109
6.3.1 標(biāo)準(zhǔn)類型操作符 109
6.3.2 序列操作符切片([]和[:]) 109
6.4 只適用于字符串的操作符 114
6.4.1 格式化操作符(%) 114
6.4.2 字符串模板: 更簡(jiǎn)單的替代品 117
6.4.3 原始字符串操作符(r/R) 118
6.4.4 Unicode字符串操作符(u/U) 119
6.5 內(nèi)建函數(shù) 119
6.5.1 標(biāo)準(zhǔn)類型函數(shù) 119
6.5.2 序列類型函數(shù) 119
6.5.3 字符串類型函數(shù) 120
6.6 字符串內(nèi)建函數(shù) 121
6.7 字符串的獨(dú)特特性 124
6.7.1 特殊字符串和控制字符 124
6.7.2 三引號(hào) 125
6.7.3 字符串不變性 126
6.8 Unicode 127
6.8.1 術(shù)語(yǔ) 127
6.8.2 什么是Unicode 128
6.8.3 怎樣使用Unicode 128
6.8.4 Codec是什么 129
6.8.5 編碼解碼 129
6.8.6 把Unicode應(yīng)用到實(shí)際應(yīng)用中 130
6.8.7 從現(xiàn)實(shí)中得來的教訓(xùn) 131
6.8.8 Python的Unicode支持 131
6.9 相關(guān)模塊 133
6.10 字符串關(guān)鍵點(diǎn)總結(jié) 134
6.11 列表 134
6.12 操作符 136
6.12.1 標(biāo)準(zhǔn)類型操作符 136
6.12.2 序列類型操作符 136
6.12.3 列表類型操作符和列表解析 139
6.13 內(nèi)建函數(shù) 139
6.13.1 標(biāo)準(zhǔn)類型函數(shù) 139
6.13.2 序列類型函數(shù) 140
6.13.3 列表類型內(nèi)建函數(shù) 142
6.14 列表類型的內(nèi)建函數(shù) 142
6.15 列表的特殊特性 145
6.16 元組 151
6.17 元組操作符和內(nèi)建函數(shù) 152
6.17.1 標(biāo)準(zhǔn)類型操作符、序列類型操作符和內(nèi)建函數(shù) 152
6.17.2 元組類型操作符和內(nèi)建函數(shù)、內(nèi)建方法 153
6.18 元組的特殊特性 153
6.18.1 不可變性給元組帶來了什么影響 153
6.18.2 元組也不是那么“不可變” 153
6.18.3 默認(rèn)集合類型 154
6.18.4 單元素元組 155
6.18.5 字典的關(guān)鍵字 155
6.19 相關(guān)模塊 156
6.20 *拷貝Python對(duì)象、淺拷貝和深拷貝 156
6.21 序列類型小結(jié) 158
6.22 練習(xí) 160
第7章 映像和集合類型 163
7.1 映射類型:字典 164
7.1.1 如何創(chuàng)建字典和給字典賦值 164
7.1.2 如何訪問字典中的值 165
7.1.3 如何更新字典 166
7.1.4 如何刪除字典元素和字典 167
7.2 映射類型操作符 167
7.2.1 標(biāo)準(zhǔn)類型操作符 167
7.2.2 映射類型操作符 168
7.3 映射類型的內(nèi)建函數(shù)和工廠函數(shù) 168
7.3.1 標(biāo)準(zhǔn)類型函數(shù)[type()、str()和cmp()] 168
7.3.2 映射類型相關(guān)的函數(shù) 170
7.4 映射類型內(nèi)建方法 172
7.5 字典的鍵 174
7.5.1 不允許一個(gè)鍵對(duì)應(yīng)多個(gè)值 174
7.5.2 鍵必須是可哈希的 175
7.6 集合類型 178
7.6.1 如何創(chuàng)建集合類型和給集合賦值 179
7.6.2 如何訪問集合中的值 179
7.6.3 如何更新集合 179
7.6.4 如何刪除集合中的成員和集合 180
7.7 集合類型操作符 180
7.7.1 標(biāo)準(zhǔn)類型操作符(所有的集合類型) 180
7.7.2 集合類型操作符(所有的集合類型) 181
7.7.3 集合類型操作符(僅適用于可變集合) 182
7.8 內(nèi)建函數(shù) 183
7.8.1 標(biāo)準(zhǔn)類型函數(shù) 183
7.8.2 集合類型工廠函數(shù) 183
7.9 集合類型內(nèi)建方法 184
7.9.1 方法(所有的集合方法) 184
7.9.2 方法(僅適用于可變集合) 184
7.9.3 操作符和內(nèi)建方法比較 185
7.10 集合類型總結(jié)表 185
7.11 相關(guān)模塊 186
7.12 練習(xí) 186
第8章 條件和循環(huán) 189
8.1 if語(yǔ)句 190
8.1.1 多重條件表達(dá)式 190
8.1.2 單一語(yǔ)句的代碼塊 190
8.2 else語(yǔ)句 190
8.3 elif(即else-if)語(yǔ)句 191
8.4 條件表達(dá)式(即“三元操作符”) 192
8.5 while語(yǔ)句 193
8.5.1 一般語(yǔ)法 193
8.5.2 計(jì)數(shù)循環(huán) 193
8.5.3 無限循環(huán) 194
8.6 for語(yǔ)句 194
8.6.1 一般語(yǔ)法 194
8.6.2 用于序列類型 195
8.6.3 用于迭代器類型 196
8.6.4 range()內(nèi)建函數(shù) 196
8.6.5 xrange() 內(nèi)建函數(shù) 198
8.6.6 與序列相關(guān)的內(nèi)建函數(shù) 198
8.7 break語(yǔ)句 199
8.8 continue語(yǔ)句 199
8.9 pass語(yǔ)句 200
8.10 再談else語(yǔ)句 200
8.11 迭代器和iter()函數(shù) 202
8.11.1 什么是迭代器 202
8.11.2 為什么要迭代器 202
8.11.3 如何迭代 202
8.11.4 使用迭代器 203
8.11.5 可變對(duì)象和迭代器 204
8.11.6 如何創(chuàng)建迭代器 204
8.12 列表解析 205
8.13 生成器表達(dá)式 206
8.14 相關(guān)模塊 209
8.15 練習(xí) 209
第9章 文件和輸入輸出 212
9.1 文件對(duì)象 213
9.2 文件內(nèi)建函數(shù)(open()和file()) 213
9.2.1 工廠函數(shù)file() 214
9.2.2 通用換行符支持(UNS) 214
9.3 文件內(nèi)建方法 215
9.3.1 輸入 215
9.3.2 輸出 215
9.3.3 文件內(nèi)移動(dòng) 216
9.3.4 文件迭代 216
9.3.5 其他 216
9.3.6 文件方法雜項(xiàng) 217
9.4 文件內(nèi)建屬性 219
9.5 標(biāo)準(zhǔn)文件 220
9.6 命令行參數(shù) 220
9.7 文件系統(tǒng) 221
9.8 文件執(zhí)行 227
9.9 永久存儲(chǔ)模塊 227
9.9.1 pickle和marshal模塊 227
9.9.2 DBM風(fēng)格的模塊 228
9.9.3 shelve模塊 228
9.10 相關(guān)模塊 229
9.11 練習(xí) 230
第10章 錯(cuò)誤和異!234
10.1 什么是異!235
10.1.1 錯(cuò)誤 235
10.1.2 異!235
10.2 Python 中的異!236
10.3 檢測(cè)和處理異!237
10.3.1 try-except語(yǔ)句 238
10.3.2 包裝內(nèi)建函數(shù) 238
10.3.3 帶有多個(gè)except的try語(yǔ)句 240
10.3.4 處理多個(gè)異常的except語(yǔ)句 241
10.3.5 捕獲所有異!242
10.3.6 “異常參數(shù)” 244
10.3.7 在應(yīng)用使用我們封裝的函數(shù) 245
10.3.8 else子句 247
10.3.9 finally子句 248
10.3.10 try-finally語(yǔ)句 248
10.3.11 try-except-else-finally:廚房一鍋端 250
10.4 上下文管理 251
10.4.1 with語(yǔ)句 251
10.4.2 *上下文管理協(xié)議 252
10.5 *字符串作為異!252
10.6 觸發(fā)異!253
10.7 斷言 254
10.8 標(biāo)準(zhǔn)異!255
10.9 *創(chuàng)建異!257
10.10 (現(xiàn)在)為什么用異!262
10.11 到底為什么要異!263
10.12 異常和sys模塊 263
10.13 相關(guān)模塊 264
10.14 練習(xí) 264
第11章 函數(shù)和函數(shù)式編程 266
11.1 什么是函數(shù)? 267
11.1.1 函數(shù)vs過程 267
11.1.2 返回值與函數(shù)類型 267
11.2 調(diào)用函數(shù) 268
11.2.1 函數(shù)操作符 268
11.2.2 關(guān)鍵字參數(shù) 269
11.2.3 默認(rèn)參數(shù) 269
11.2.4 參數(shù)組 269
11.3 創(chuàng)建函數(shù) 272
11.3.1 def語(yǔ)句 272
11.3.2 聲明與定義比較 272
11.3.3 前向引用 272
11.3.4 函數(shù)屬性 273
11.3.5 內(nèi)部/內(nèi)嵌函數(shù) 274
11.3.6 *函數(shù)(與方法)裝飾器 275
11.4 傳遞函數(shù) 278
11.5 Formal Arguments 279
11.5.1 位置參數(shù) 279
11.5.2 默認(rèn)參數(shù) 279
11.6 可變長(zhǎng)度的參數(shù) 282
11.6.1 非關(guān)鍵字可變長(zhǎng)參數(shù)(元組) 282
11.6.2 關(guān)鍵字變量參數(shù)(字典) 283
11.6.3 調(diào)用帶有可變長(zhǎng)參數(shù)對(duì)象函數(shù) 284
11.7 函數(shù)式編程 286
11.7.1 匿名函數(shù)與lambda 286
11.7.2 內(nèi)建函數(shù)apply()、filter()、map()、reduce() 288
11.7.3 偏函數(shù)應(yīng)用 293
11.8 變量作用域 295
11.8.1 全局變量與局部變量 295
11.8.2 globa語(yǔ)句 296
11.8.3 作用域的數(shù)字 297
11.8.4 閉包 298
11.8.5 作用域和lambda 302
11.8.6 變量作用域和名稱空間 304
11.9 *遞歸 304
11.10 生成器 305
11.10.1 簡(jiǎn)單的生成器特性 305
11.10.2 加強(qiáng)的生成器特性 307
11.11 練習(xí) 308
第12章 模塊 310
12.1 什么是模塊 311
12.2 模塊和文件 311
12.2.1 模塊名稱空間 311
12.2.2 搜索路徑和路徑搜索 311
12.3 名稱空間 312
12.3.1 名稱空間與變量作用域比較 313
12.3.2 名稱查找、確定作用域、覆蓋 314
12.3.3 無限制的名稱空間 314
12.4 導(dǎo)入模塊 315
12.4.1 import語(yǔ)句 315
12.4.2 from-import語(yǔ)句 315
12.4.3 多行導(dǎo)入 316
12.4.4 擴(kuò)展的import語(yǔ)句(as) 316
12.5 模塊導(dǎo)入的特性 316
12.5.1 載入時(shí)執(zhí)行模塊 316
12.5.2 導(dǎo)入(import)和加載(load) 317
12.5.3 導(dǎo)入到當(dāng)前名稱空間的名稱 317
12.5.4 被導(dǎo)入到導(dǎo)入者作用域的名字 317
12.5.5 關(guān)于__future__ 318
12.5.6 警告框架 318
12.5.7 從ZIP文件中導(dǎo)入模塊 319
12.5.8 “新的”導(dǎo)入鉤子 319
12.6 模塊內(nèi)建函數(shù) 319
12.6.1 __import__() 319
12.6.2 globals()和locals() 320
12.6.3 reload() 320
12.7 包 321
12.7.1 目錄結(jié)構(gòu) 321
12.7.2 使用from-import導(dǎo)入包 322
12.8 模塊的其他特性 323
12.8.1 自動(dòng)載入的模塊 323
12.8.2 阻止屬性導(dǎo)入 323
12.8.3 不區(qū)分大小的導(dǎo)入 323
12.8.4 源代碼編碼 324
12.8.5 導(dǎo)入循環(huán) 324
12.8.6 模塊執(zhí)行 325
12.9 相關(guān)模塊 325
12.10 練習(xí) 326
第13章 面向?qū)ο缶幊獭?27
13.1 引言 328
13.2 面向?qū)ο缶幊獭?33
13.2.1 面向?qū)ο笤O(shè)計(jì)與面向?qū)ο缶幊痰年P(guān)系 333
13.2.2 現(xiàn)實(shí)中的問題 334
13.2.3 *常用術(shù)語(yǔ) 334
13.3 類 335
13.3.1 創(chuàng)建類 336
13.3.2 聲明與定義 336
13.4 類屬性 336
13.4.1 類的數(shù)據(jù)屬性 337
13.4.2 Methods 337
13.4.3 決定類的屬性 338
13.4.4 特殊的類屬性 339
13.5 實(shí)例 340
13.5.1 初始化:通過調(diào)用類對(duì)象來創(chuàng)建實(shí)例 340
13.5.2 __init__()“構(gòu)造器”方法 341
13.5.3 __new__()“構(gòu)造器”方法 342
13.5.4 __del__()“解構(gòu)器”方法 342
13.6 實(shí)例屬性 344
13.6.1 “實(shí)例化”實(shí)例屬性(或創(chuàng)建一個(gè)更好的構(gòu)造器) 344
13.6.2 查看實(shí)例屬性 346
13.6.3 特殊的實(shí)例屬性 346
13.6.4 建類型屬性 347
13.6.5 實(shí)例屬性vs類屬性 348
13.7 綁定和方法調(diào)用 350
13.7.1 調(diào)用綁定方法 351
13.7.2 調(diào)用非綁定方法 351
13.8 靜態(tài)方法和類方法 352
13.8.1 staticmethod()和classmethod()內(nèi)建函數(shù) 352
13.8.2 使用函數(shù)修飾符 353
13.9 組合 353
13.10 子類和派生 354
13.11 繼承 355
13.11.1 __bases__類屬性 356
13.11.2 通過繼承覆蓋方法 356
13.11.3 從標(biāo)準(zhǔn)類型派生 358
13.11.4 多重繼承 360
13.12 類、實(shí)例和其他對(duì)象的內(nèi)建函數(shù) 363
13.12.1 issubclass() 363
13.12.2 isinstance() 363
13.12.3 hasattr()、getattr()、setattr()、delattr() 364
13.12.4 dir() 365
13.12.5 super() 365
13.12.6 vars() 366
13.13 用特殊方法定制類 367
13.13.1 簡(jiǎn)單定制(RoundFloat2) 370
13.13.2 數(shù)值定制(Time60) 372
13.13.3 迭代器(RandSeq和AnyIter) 375
13.13.4 *多類型定制(NumStr) 377
13.14 私有化 381
13.15 *授權(quán) 382
13.15.1 包裝 382
13.15.2 實(shí)現(xiàn)授權(quán) 383
13.16 新式類的高級(jí)特性(Python 2.2+) 388
13.16.1 新式類的通用特性 388
13.16.2 __slots__類屬性 389
13.16.3 __getattribute__()特殊方法 390
13.16.4 描述符 390
13.16.5 元類和__metaclass__ 399
13.17 相關(guān)模塊和文檔 403
13.18 練習(xí) 405
第14章 執(zhí)行環(huán)境 410
14.1 可調(diào)用對(duì)象 411
14.1.1 函數(shù) 411
14.1.2 方法 413
14.1.3 類 415
14.1.4 類的實(shí)例 415
14.2 代碼對(duì)象 416
14.3 可執(zhí)行的對(duì)象聲明和內(nèi)建函數(shù) 416
14.3.1 callable() 417
14.3.2 compile() 417
14.3.3 eval() 418
14.3.4 exec 419
14.3.5 input() 420
14.3.6 使用Python在運(yùn)行時(shí)生成和執(zhí)行Python代碼 420
14.4 執(zhí)行其他(Python)程序 426
14.4.1 導(dǎo)入 426
14.4.2 execfile() 427
14.4.3 將模塊作為腳本執(zhí)行 428
14.5 執(zhí)行其他(非Python)程序 428
14.5.1 os.system() 429
14.5.2 os.popen() 430
14.5.3 os.fork()、os.exec*()、os.wait*() 431
14.5.4 os.spawn*() 432
14.5.5 subprocess 模塊 432
14.5.6 相關(guān)函數(shù) 433
14.6 受限執(zhí)行 433
14.7 結(jié)束執(zhí)行 434
14.7.1 sys.exit() and SystemExit 434
14.7.2 sys.exitfunc() 435
14.7.3 os._exit() 函數(shù) 435
14.7.4 os.kill() Function 435
14.8 各種操作系統(tǒng)接口 436
14.9 相關(guān)模塊 436
14.10 練習(xí) 437
第2部分 高級(jí)主題
第15章 正則表達(dá)式 441
15.1 引言/動(dòng)機(jī) 442
15.2 正則表達(dá)式使用的特殊符號(hào)和字符 443
15.2.1 用管道符號(hào)(|)匹配多個(gè)正則表達(dá)式模式 444
15.2.2 匹配任意一個(gè)單個(gè)的字符(.) 444
15.2.3 從字符串的開頭或結(jié)尾或單詞邊界開始匹配(^/$ /\b /\B ) 444
15.2.4 創(chuàng)建字符類([]) 445
15.2.5 指定范圍(-)和否定(^) 445
15.2.6 使用閉包操作符(*,+,?,{})實(shí)現(xiàn)多次出現(xiàn)/重復(fù)匹配 446
15.2.7 特殊字符表示、字符集 446
15.2.8 用圓括號(hào)(())組建組 447
15.3 正則表達(dá)式和Python語(yǔ)言 447
15.3.1 re模塊:核心函數(shù)和方法 448
15.3.2 使用compile()編譯正則表達(dá)式 449
15.3.3 匹配對(duì)象和group()、groups()方法 449
15.3.4 用match()匹配字符串 449
15.3.5 search()在一個(gè)字符串中查找一個(gè)模式(搜索與匹配的比較) 450
15.3.6 匹配多個(gè)字符串(|) 451
15.3.7 匹配任意單個(gè)字符(.) 451
15.3.8 創(chuàng)建字符集合([]) 452
15.3.9 重復(fù)、特殊字符和子組 452
15.3.10 從字符串的開頭或結(jié)尾匹配及在單詞邊界上的匹配 454
15.3.11 用findall()找到每個(gè)出現(xiàn)的匹配部分 455
15.3.12 用sub()(和subn())進(jìn)行搜索和替換 455
15.3.13 用split()分割(分隔模式) 455
15.4 正則表達(dá)式示例 458
15.4.1 匹配一個(gè)字符串 460
15.4.2 搜索與匹配的比較,“貪婪”匹配 461
15.5 練習(xí) 463
第16章 網(wǎng)絡(luò)編程 465
16.1 引言 466
16.1.1 什么是客戶端/服務(wù)器架構(gòu) 466
16.1.2 客戶端/服務(wù)器網(wǎng)絡(luò)編程 468
16.2 套接字:通信端點(diǎn) 468
16.2.1 什么是套接字 468
16.2.2 套接字地址:主機(jī)與端口 469
16.2.3 面向連接與無連接 469
16.3 Python中的網(wǎng)絡(luò)編程 469
16.3.1 socket()模塊函數(shù) 470
16.3.2 套接字對(duì)象(內(nèi)建)方法 470
16.3.3 創(chuàng)建一個(gè)TCP服務(wù)器 471
16.3.4 創(chuàng)建TCP客戶端 473
16.3.5 運(yùn)行我們的客戶端與TCP服務(wù)器 474
16.3.6 創(chuàng)建一個(gè)UDP服務(wù)器 475
16.3.7 創(chuàng)建一個(gè)UDP客戶端 476
16.3.8 執(zhí)行UDP服務(wù)器和客戶端 477
16.3.9 Socket模塊屬性 478
16.4 *SocketServer模塊 479
16.4.1 創(chuàng)建一個(gè)SocketServerTCP服務(wù)器 479
16.4.2 創(chuàng)建SocketServerTCP客戶端 480
16.4.3 執(zhí)行TCP服務(wù)器和客戶端 481
16.5 Twisted框架介紹 482
16.5.1 創(chuàng)建一個(gè)Twisted Reactor TCP服務(wù)器 482
16.5.2 創(chuàng)建一個(gè)Twisted Reactor TCP客戶端 483
16.5.3 執(zhí)行TCP服務(wù)器和客戶端 484
16.6 相關(guān)模塊 484
16.7 練習(xí) 485
第17章 網(wǎng)絡(luò)客戶端編程 487
17.1 什么是因特網(wǎng)客戶端 488
17.2 文件傳輸 488
17.2.1 文件傳輸網(wǎng)際協(xié)議 488
17.2.2 文件傳輸協(xié)議(FTP) 488
17.2.3 Python和FTP 489
17.2.4 ftplib.FTP類方法 490
17.2.5 交互式FTP示例 490
17.2.6 客戶端FTP程序舉例 491
17.2.7 FTP的其他方面 492
17.3 網(wǎng)絡(luò)新聞 493
17.3.1 Usenet與新聞組 493
17.3.2 網(wǎng)絡(luò)新聞傳輸協(xié)議(NNTP) 493
17.3.3 Python和NNTP 494
17.3.4 nntplib.NNTP類方法 494
17.3.5 交互式NNTP舉例 495
17.3.6 客戶端程序NNTP舉例 496
17.3.7 NNTP的其他方面 500
17.4 電子郵件 500
17.4.1 電子郵件系統(tǒng)組件和協(xié)議 500
17.4.2 發(fā)送電子郵件 501
17.4.3 Python和SMTP 501
17.4.4 smtplib.SMTP類方法 502
17.4.5 交互式SMTP示例 502
17.4.6 SMTP的其他方面 503
17.4.7 接收電子郵件 503
17.4.8 POP和IMAP 504
17.4.9 Python和POP3 504
17.4.10 交互式POP3舉例 505
17.4.11 poplib.POP3類方法 506
17.4.12 客戶端程序SMTP和POP3舉例 506
17.5 相關(guān)模塊 508
17.5.1 電子郵件 508
17.5.2 其他網(wǎng)絡(luò)協(xié)議 508
17.6 練習(xí) 509
第18章 多線程編程 512
18.1 引言/動(dòng)機(jī) 513
18.2 線程和進(jìn)程 513
18.2.1 什么是進(jìn)程 513
18.2.2 什么是線程 514
18.3 Python、線程和全局解釋器鎖 514
18.3.1 全局解釋器鎖(GIL) 514
18.3.2 退出線程 515
18.3.3 在Python中使用線程 515
18.3.4 沒有線程支持的情況 515
18.3.5 Python的threading模塊 516
18.4 thread模塊 517
18.5 threading模塊 520
18.5.1 Thread類 521
18.5.2 斐波那契、階乘和累加和 525
18.5.3 threading模塊中的其他函數(shù) 528
18.5.4 生產(chǎn)者-消費(fèi)者問題和Queue模塊 528
18.6 相關(guān)模塊 531
18.7 練習(xí) 531
第19章 圖形用戶界面編程 532
19.1 簡(jiǎn)介 533
19.1.1 什么是Tcl、Tk和Tkinter 533
19.1.2 安裝和使用Tkinter 533
19.1.3 客戶端/服務(wù)器架構(gòu) 534
19.2 Tkinter與Python編程 534
19.2.1 Tkinter模塊:把Tk引入你的程序 534
19.2.2 GUI程序開發(fā)簡(jiǎn)介 534
19.2.3 頂層窗口:Tkinter.Tk() 535
19.2.4 Tk組件 535
19.3 Tkinter舉例 536
19.3.1 標(biāo)簽組件 536
19.3.2 按鈕組件 537
19.3.3 標(biāo)簽和按鈕組件 537
19.3.4 標(biāo)簽、按鈕和進(jìn)度條組件 538
19.3.5 偏函數(shù)應(yīng)用舉例 539
19.3.6 中級(jí)Tkinter范例 541
19.4 其他GUI簡(jiǎn)介 545
19.4.1 Tk Interface eXtensions (Tix) 546
19.4.2 Python MegaWidgets (PMW) 547
19.4.3 wxWidgets和wxPython 547
19.4.4 GTK+和PyGTK 549
19.5 相關(guān)模塊和其他GUI 551
19.6 練習(xí) 553
第20章 Web編程 554
20.1 介紹 555
20.1.1 Web應(yīng)用:客戶端/服務(wù)器計(jì)算 555
20.1.2 因特網(wǎng) 555
20.2 使用Python進(jìn)行Web應(yīng)用:創(chuàng)建一個(gè)簡(jiǎn)單的Web客戶端 556
20.2.1 統(tǒng)一資源定位符 556
20.2.2 urlparse模塊 557
20.2.3 urllib模塊 558
20.2.4 urllib2模塊 561
20.3 高級(jí)Web客戶端 563
20.4 CGI:幫助Web服務(wù)器處理客戶端數(shù)據(jù) 567
20.4.1 CGI介紹 567
20.4.2 CGI應(yīng)用程序 568
20.4.3 cgi模塊 569
20.5 建立CGI應(yīng)用程序 569
20.5.1 建立Web服務(wù)器 569
20.5.2 建立表單頁(yè) 569
20.5.3 生成結(jié)果頁(yè) 570
20.5.4 生成表單和結(jié)果頁(yè)面 571
20.5.5 全面交互的Web站點(diǎn) 574
20.6 在CGI中使用Unicode編碼 577
20.7 高級(jí)CGI 579
20.7.1 Mulitipart表單提交和文件的上傳 579
20.7.2 多值字段 579
20.7.3 cookie 579
20.7.4 使用高級(jí)CGI 580
20.8 Web(HTTP)服務(wù)器 587
20.9 相關(guān)模塊 589
20.10 練習(xí) 590
第21章 數(shù)據(jù)庫(kù)編程 593
21.1 介紹 594
21.1.1 持久存儲(chǔ) 594
21.1.2 基本的數(shù)據(jù)庫(kù)操作和SQL語(yǔ)言 594
21.1.3 數(shù)據(jù)庫(kù)和Python 596
21.2 Python數(shù)據(jù)庫(kù)應(yīng)用程序程序員接口(DB-API) 596
21.2.1 模塊屬性 597
21.2.2 連接對(duì)象 598
21.2.3 游標(biāo)對(duì)象 599
21.2.4 類型對(duì)象和構(gòu)造器 600
21.2.5 關(guān)系數(shù)據(jù)庫(kù) 601
21.2.6 數(shù)據(jù)庫(kù)和Python:接口程序 602
21.2.7 使用數(shù)據(jù)庫(kù)接口程序舉例 602
21.3 對(duì)象-關(guān)系管理器(ORM) 611
21.3.1 考慮對(duì)象,而不是SQL 611
21.3.2 Python和ORM 611
21.3.3 雇員數(shù)據(jù)庫(kù)舉例 611
21.3.4 總結(jié) 620
21.4 相關(guān)模塊 620
21.5 練習(xí) 621
第22章 擴(kuò)展Python 623
22.1 引言/動(dòng)機(jī) 624
22.1.1 什么是擴(kuò)展 624
22.1.2 為什么要擴(kuò)展Python 624
22.2 創(chuàng)建Python擴(kuò)展 625
22.2.1 創(chuàng)建您的應(yīng)用程序代碼 625
22.2.2 用樣板來包裝你的代碼 627
22.2.3 編譯 630
22.2.4 導(dǎo)入和測(cè)試 632
22.2.5 引用計(jì)數(shù) 633
22.2.6 線程和全局解釋器鎖(GIL) 635
22.3 相關(guān)話題 636
22.4 練習(xí) 637
第23章 其他話題 638
23.1 Web服務(wù) 639
23.2 用Win32的COM來操作微軟Office 641
23.2.1 客戶端COM編程 641
23.2.2 微軟Excel 642
23.2.3 微軟Word 644
23.2.4 微軟PowerPoint 645
23.2.5 微軟Outlook 646
23.2.6 中等規(guī)模的例子 648
23.3 用Jython寫Python和Java的程序 650
23.3.1 什么是Jython 650
23.3.2 Swing GUI開發(fā)(Java或者Python!) 651
23.4 練習(xí) 653
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版