Python核心編程(第二版)是一本python基礎(chǔ)教程指南,python核心編程實例指導,對wxpython數(shù)據(jù)庫充分的講解,不可錯過的編程實踐寶典! 在第一版的基礎(chǔ)上進行了全面升級。全書分為兩個部分:第1部分占據(jù)了大約三分之二的篇幅,闡釋這門語言的“核心”內(nèi)容,包括基本的概念和語句、語法和風格、Python對象、數(shù)字類型、序列類型、映射和集合類型、條件和循環(huán)、文件和輸入/輸出、錯誤和異常、函數(shù)和函數(shù)式編程、模塊、面向?qū)ο缶幊、?zhí)行環(huán)境等內(nèi)容:第2部分則提供了各種高級主題來展示可以使用Python做些什么,包括正則表達式、網(wǎng)絡(luò)編程、網(wǎng)絡(luò)客戶端編程、多線程編程、圖形用戶界面編程、Web編程、數(shù)據(jù)庫編程、擴展Python 和一些其他材料。
開篇將介紹一些Python的背景知識,包括什么是Python、Python的起源和它的一些關(guān)鍵特性。一旦你來了興致,我們就會向你介紹怎樣獲得Python,以及如何在你的系統(tǒng)上安裝并運行它。本章最后的練習將會幫助你非常自如地使用Python,包括使用交互式解釋器,以及創(chuàng)建并運行腳本程序。
python核心編程第二版目錄
第1部分 Python核心
第1章 歡迎來到Python世界 3
1.1 什么是Python 4
1.2 起源 4
1.3 特點 4
1.3.1 高級 4
1.3.2 面向?qū)ο蟆?
1.3.3 可升級 5
1.3.4 可擴展 5
1.3.5 可移植性 5
1.3.6 易學 6
1.3.7 易讀 6
1.3.8 易維護 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 運行Python 8
1.5.1 命令行上的交互式解釋器 9
1.5.2 從命令行啟動腳本 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與其他語言的比較) 15
1.8 其他實現(xiàn) 17
1.9 練習 18
第2章 快速入門 19
2.1 程序輸出,print語句及“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 代碼塊及縮進對齊 27
2.11 if語句 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 錯誤和異!31
2.17 函數(shù) 32
2.17.1 如何定義函數(shù) 32
2.17.2 如何調(diào)用函數(shù) 32
2.17.3 默認參數(shù) 33
2.18 類 33
2.19 模塊 35
2.19.1 如何導入模塊 35
2.19.2 如何訪問一個模塊函數(shù)或訪問一個模塊變量 35
2.20 實用的函數(shù) 36
2.21 練習 36
第3章 Python基礎(chǔ) 39
3.1 語句和語法 40
3.1.1 注釋(#) 40
3.1.2 繼續(xù)(\) 40
3.1.3 多個語句構(gòu)成代碼組(:) 41
3.1.4 代碼組由不同的縮進分隔 41
3.1.5 同一行書寫多個語句(;) 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 標識符 44
3.3.1 合法的Python標識符 44
3.3.2 關(guān)鍵字 44
3.3.3 內(nèi)建 45
3.3.4 專用下劃線標識符 45
3.4 基本風格指南 45
3.4.1 模塊結(jié)構(gòu)和布局 46
3.4.2 在主程序中書寫測試代碼 48
3.5 內(nèi)存管理 49
3.5.1 變量定義 49
3.5.2 動態(tài)類型 49
3.5.3 內(nèi)存分配 49
3.5.4 引用計數(shù) 50
3.5.5 垃圾收集 51
3.6 第一個Python程序 51
3.7 相關(guān)模塊和開發(fā)工具 54
3.8 練習 55
第4章 Python對象 56
4.1 Python 對象 57
4.2 標準類型 57
4.3 其他內(nèi)建類型 58
4.3.1 類型對象和type類型對象 58
4.3.2 None--Python的Null對象 58
4.4 內(nèi)部類型 59
4.4.1 代碼對象 59
4.4.2 幀對象 60
4.4.3 跟蹤記錄對象 60
4.4.4 切片對象 60
4.4.5 省略對象 60
4.4.6 XRange 對象 60
4.5 標準類型操作符 61
4.5.1 對象值的比較 61
4.5.2 對象身份比較 61
4.5.3 布爾類型 64
4.6 標準類型內(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 標準類型的分類 71
4.8.1 存儲模型 71
4.8.2 更新模型 72
4.8.3 訪問模型 73
4.9 不支持的類型 74
4.10 練習 75
第5章 數(shù)字 76
5.1 數(shù)字簡介 77
5.1.1 如何創(chuàng)建數(shù)值對象并用其賦值(數(shù)字對象) 77
5.1.2 如何更新數(shù)字對象 77
5.1.3 如何刪除數(shù)字對象 77
5.2 整型 77
5.2.1 布爾型 78
5.2.2 標準整型 78
5.2.3 長整型 78
5.2.4 整型和長整型的統(tǒng)一 79
5.3 雙精度浮點型 79
5.4 復(fù)數(shù) 80
5.5 操作符 81
5.5.1 混合模式操作符 81
5.5.2 標準類型操作符 82
5.5.3 算術(shù)操作符 82
5.5.4 *位操作符(只適用于整型) 86
5.6 內(nèi)建函數(shù)與工廠函數(shù) 87
5.6.1 標準類型函數(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 十進制浮點型 94
5.8 相關(guān)模塊 95
5.9 練習 97
第6章 序列:字符串、列表和元組 100
6.1 序列 101
6.1.1 標準類型操作符 101
6.1.2 序列類型操作符 101
6.1.3 內(nèi)建函數(shù)(BIF) 106
6.2 字符串 107
6.3 字符串和操作符 109
6.3.1 標準類型操作符 109
6.3.2 序列操作符切片([]和[:]) 109
6.4 只適用于字符串的操作符 114
6.4.1 格式化操作符(%) 114
6.4.2 字符串模板: 更簡單的替代品 117
6.4.3 原始字符串操作符(r/R) 118
6.4.4 Unicode字符串操作符(u/U) 119
6.5 內(nèi)建函數(shù) 119
6.5.1 標準類型函數(shù) 119
6.5.2 序列類型函數(shù) 119
6.5.3 字符串類型函數(shù) 120
6.6 字符串內(nèi)建函數(shù) 121
6.7 字符串的獨特特性 124
6.7.1 特殊字符串和控制字符 124
6.7.2 三引號 125
6.7.3 字符串不變性 126
6.8 Unicode 127
6.8.1 術(shù)語 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)用到實際應(yīng)用中 130
6.8.7 從現(xiàn)實中得來的教訓 131
6.8.8 Python的Unicode支持 131
6.9 相關(guān)模塊 133
6.10 字符串關(guān)鍵點總結(jié) 134
6.11 列表 134
6.12 操作符 136
6.12.1 標準類型操作符 136
6.12.2 序列類型操作符 136
6.12.3 列表類型操作符和列表解析 139
6.13 內(nèi)建函數(shù) 139
6.13.1 標準類型函數(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 標準類型操作符、序列類型操作符和內(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 默認集合類型 154
6.18.4 單元素元組 155
6.18.5 字典的關(guān)鍵字 155
6.19 相關(guān)模塊 156
6.20 *拷貝Python對象、淺拷貝和深拷貝 156
6.21 序列類型小結(jié) 158
6.22 練習 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 標準類型操作符 167
7.2.2 映射類型操作符 168
7.3 映射類型的內(nèi)建函數(shù)和工廠函數(shù) 168
7.3.1 標準類型函數(shù)[type()、str()和cmp()] 168
7.3.2 映射類型相關(guān)的函數(shù) 170
7.4 映射類型內(nèi)建方法 172
7.5 字典的鍵 174
7.5.1 不允許一個鍵對應(yīng)多個值 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 標準類型操作符(所有的集合類型) 180
7.7.2 集合類型操作符(所有的集合類型) 181
7.7.3 集合類型操作符(僅適用于可變集合) 182
7.8 內(nèi)建函數(shù) 183
7.8.1 標準類型函數(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 練習 186
第8章 條件和循環(huán) 189
8.1 if語句 190
8.1.1 多重條件表達式 190
8.1.2 單一語句的代碼塊 190
8.2 else語句 190
8.3 elif(即else-if)語句 191
8.4 條件表達式(即“三元操作符”) 192
8.5 while語句 193
8.5.1 一般語法 193
8.5.2 計數(shù)循環(huán) 193
8.5.3 無限循環(huán) 194
8.6 for語句 194
8.6.1 一般語法 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語句 199
8.8 continue語句 199
8.9 pass語句 200
8.10 再談else語句 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 可變對象和迭代器 204
8.11.6 如何創(chuàng)建迭代器 204
8.12 列表解析 205
8.13 生成器表達式 206
8.14 相關(guān)模塊 209
8.15 練習 209
第9章 文件和輸入輸出 212
9.1 文件對象 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)移動 216
9.3.4 文件迭代 216
9.3.5 其他 216
9.3.6 文件方法雜項 217
9.4 文件內(nèi)建屬性 219
9.5 標準文件 220
9.6 命令行參數(shù) 220
9.7 文件系統(tǒng) 221
9.8 文件執(zhí)行 227
9.9 永久存儲模塊 227
9.9.1 pickle和marshal模塊 227
9.9.2 DBM風格的模塊 228
9.9.3 shelve模塊 228
9.10 相關(guān)模塊 229
9.11 練習 230
第10章 錯誤和異常 234
10.1 什么是異!235
10.1.1 錯誤 235
10.1.2 異常 235
10.2 Python 中的異!236
10.3 檢測和處理異!237
10.3.1 try-except語句 238
10.3.2 包裝內(nèi)建函數(shù) 238
10.3.3 帶有多個except的try語句 240
10.3.4 處理多個異常的except語句 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語句 248
10.3.11 try-except-else-finally:廚房一鍋端 250
10.4 上下文管理 251
10.4.1 with語句 251
10.4.2 *上下文管理協(xié)議 252
10.5 *字符串作為異!252
10.6 觸發(fā)異!253
10.7 斷言 254
10.8 標準異常 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 練習 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 默認參數(shù) 269
11.2.4 參數(shù)組 269
11.3 創(chuàng)建函數(shù) 272
11.3.1 def語句 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 默認參數(shù) 279
11.6 可變長度的參數(shù) 282
11.6.1 非關(guān)鍵字可變長參數(shù)(元組) 282
11.6.2 關(guān)鍵字變量參數(shù)(字典) 283
11.6.3 調(diào)用帶有可變長參數(shù)對象函數(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語句 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 簡單的生成器特性 305
11.10.2 加強的生成器特性 307
11.11 練習 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 導入模塊 315
12.4.1 import語句 315
12.4.2 from-import語句 315
12.4.3 多行導入 316
12.4.4 擴展的import語句(as) 316
12.5 模塊導入的特性 316
12.5.1 載入時執(zhí)行模塊 316
12.5.2 導入(import)和加載(load) 317
12.5.3 導入到當前名稱空間的名稱 317
12.5.4 被導入到導入者作用域的名字 317
12.5.5 關(guān)于__future__ 318
12.5.6 警告框架 318
12.5.7 從ZIP文件中導入模塊 319
12.5.8 “新的”導入鉤子 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導入包 322
12.8 模塊的其他特性 323
12.8.1 自動載入的模塊 323
12.8.2 阻止屬性導入 323
12.8.3 不區(qū)分大小的導入 323
12.8.4 源代碼編碼 324
12.8.5 導入循環(huán) 324
12.8.6 模塊執(zhí)行 325
12.9 相關(guān)模塊 325
12.10 練習 326
第13章 面向?qū)ο缶幊獭?27
13.1 引言 328
13.2 面向?qū)ο缶幊獭?33
13.2.1 面向?qū)ο笤O(shè)計與面向?qū)ο缶幊痰年P(guān)系 333
13.2.2 現(xiàn)實中的問題 334
13.2.3 *常用術(shù)語 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 實例 340
13.5.1 初始化:通過調(diào)用類對象來創(chuàng)建實例 340
13.5.2 __init__()“構(gòu)造器”方法 341
13.5.3 __new__()“構(gòu)造器”方法 342
13.5.4 __del__()“解構(gòu)器”方法 342
13.6 實例屬性 344
13.6.1 “實例化”實例屬性(或創(chuàng)建一個更好的構(gòu)造器) 344
13.6.2 查看實例屬性 346
13.6.3 特殊的實例屬性 346
13.6.4 建類型屬性 347
13.6.5 實例屬性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 從標準類型派生 358
13.11.4 多重繼承 360
13.12 類、實例和其他對象的內(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 簡單定制(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 實現(xiàn)授權(quán) 383
13.16 新式類的高級特性(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 練習 405
第14章 執(zhí)行環(huán)境 410
14.1 可調(diào)用對象 411
14.1.1 函數(shù) 411
14.1.2 方法 413
14.1.3 類 415
14.1.4 類的實例 415
14.2 代碼對象 416
14.3 可執(zhí)行的對象聲明和內(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在運行時生成和執(zhí)行Python代碼 420
14.4 執(zhí)行其他(Python)程序 426
14.4.1 導入 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 練習 437
第2部分 高級主題
第15章 正則表達式 441
15.1 引言/動機 442
15.2 正則表達式使用的特殊符號和字符 443
15.2.1 用管道符號(|)匹配多個正則表達式模式 444
15.2.2 匹配任意一個單個的字符(.) 444
15.2.3 從字符串的開頭或結(jié)尾或單詞邊界開始匹配(^/$ /\b /\B ) 444
15.2.4 創(chuàng)建字符類([]) 445
15.2.5 指定范圍(-)和否定(^) 445
15.2.6 使用閉包操作符(*,+,?,{})實現(xiàn)多次出現(xiàn)/重復(fù)匹配 446
15.2.7 特殊字符表示、字符集 446
15.2.8 用圓括號(())組建組 447
15.3 正則表達式和Python語言 447
15.3.1 re模塊:核心函數(shù)和方法 448
15.3.2 使用compile()編譯正則表達式 449
15.3.3 匹配對象和group()、groups()方法 449
15.3.4 用match()匹配字符串 449
15.3.5 search()在一個字符串中查找一個模式(搜索與匹配的比較) 450
15.3.6 匹配多個字符串(|) 451
15.3.7 匹配任意單個字符(.) 451
15.3.8 創(chuàng)建字符集合([]) 452
15.3.9 重復(fù)、特殊字符和子組 452
15.3.10 從字符串的開頭或結(jié)尾匹配及在單詞邊界上的匹配 454
15.3.11 用findall()找到每個出現(xiàn)的匹配部分 455
15.3.12 用sub()(和subn())進行搜索和替換 455
15.3.13 用split()分割(分隔模式) 455
15.4 正則表達式示例 458
15.4.1 匹配一個字符串 460
15.4.2 搜索與匹配的比較,“貪婪”匹配 461
15.5 練習 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 套接字:通信端點 468
16.2.1 什么是套接字 468
16.2.2 套接字地址:主機與端口 469
16.2.3 面向連接與無連接 469
16.3 Python中的網(wǎng)絡(luò)編程 469
16.3.1 socket()模塊函數(shù) 470
16.3.2 套接字對象(內(nèi)建)方法 470
16.3.3 創(chuàng)建一個TCP服務(wù)器 471
16.3.4 創(chuàng)建TCP客戶端 473
16.3.5 運行我們的客戶端與TCP服務(wù)器 474
16.3.6 創(chuàng)建一個UDP服務(wù)器 475
16.3.7 創(chuàng)建一個UDP客戶端 476
16.3.8 執(zhí)行UDP服務(wù)器和客戶端 477
16.3.9 Socket模塊屬性 478
16.4 *SocketServer模塊 479
16.4.1 創(chuàng)建一個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)建一個Twisted Reactor TCP服務(wù)器 482
16.5.2 創(chuàng)建一個Twisted Reactor TCP客戶端 483
16.5.3 執(zhí)行TCP服務(wù)器和客戶端 484
16.6 相關(guān)模塊 484
16.7 練習 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 練習 509
第18章 多線程編程 512
18.1 引言/動機 513
18.2 線程和進程 513
18.2.1 什么是進程 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)者-消費者問題和Queue模塊 528
18.6 相關(guān)模塊 531
18.7 練習 531
第19章 圖形用戶界面編程 532
19.1 簡介 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ā)簡介 534
19.2.3 頂層窗口:Tkinter.Tk() 535
19.2.4 Tk組件 535
19.3 Tkinter舉例 536
19.3.1 標簽組件 536
19.3.2 按鈕組件 537
19.3.3 標簽和按鈕組件 537
19.3.4 標簽、按鈕和進度條組件 538
19.3.5 偏函數(shù)應(yīng)用舉例 539
19.3.6 中級Tkinter范例 541
19.4 其他GUI簡介 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 練習 553
第20章 Web編程 554
20.1 介紹 555
20.1.1 Web應(yīng)用:客戶端/服務(wù)器計算 555
20.1.2 因特網(wǎng) 555
20.2 使用Python進行Web應(yīng)用:創(chuàng)建一個簡單的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 高級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 建立表單頁 569
20.5.3 生成結(jié)果頁 570
20.5.4 生成表單和結(jié)果頁面 571
20.5.5 全面交互的Web站點 574
20.6 在CGI中使用Unicode編碼 577
20.7 高級CGI 579
20.7.1 Mulitipart表單提交和文件的上傳 579
20.7.2 多值字段 579
20.7.3 cookie 579
20.7.4 使用高級CGI 580
20.8 Web(HTTP)服務(wù)器 587
20.9 相關(guān)模塊 589
20.10 練習 590
第21章 數(shù)據(jù)庫編程 593
21.1 介紹 594
21.1.1 持久存儲 594
21.1.2 基本的數(shù)據(jù)庫操作和SQL語言 594
21.1.3 數(shù)據(jù)庫和Python 596
21.2 Python數(shù)據(jù)庫應(yīng)用程序程序員接口(DB-API) 596
21.2.1 模塊屬性 597
21.2.2 連接對象 598
21.2.3 游標對象 599
21.2.4 類型對象和構(gòu)造器 600
21.2.5 關(guān)系數(shù)據(jù)庫 601
21.2.6 數(shù)據(jù)庫和Python:接口程序 602
21.2.7 使用數(shù)據(jù)庫接口程序舉例 602
21.3 對象-關(guān)系管理器(ORM) 611
21.3.1 考慮對象,而不是SQL 611
21.3.2 Python和ORM 611
21.3.3 雇員數(shù)據(jù)庫舉例 611
21.3.4 總結(jié) 620
21.4 相關(guān)模塊 620
21.5 練習 621
第22章 擴展Python 623
22.1 引言/動機 624
22.1.1 什么是擴展 624
22.1.2 為什么要擴展Python 624
22.2 創(chuàng)建Python擴展 625
22.2.1 創(chuàng)建您的應(yīng)用程序代碼 625
22.2.2 用樣板來包裝你的代碼 627
22.2.3 編譯 630
22.2.4 導入和測試 632
22.2.5 引用計數(shù) 633
22.2.6 線程和全局解釋器鎖(GIL) 635
22.3 相關(guān)話題 636
22.4 練習 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 練習 653
- PC官方版
- 安卓官方手機版
- IOS官方手機版