目錄
第1章 一個萬能計算器 1
1.1 簡單算術(shù)計算 1
1.1.1 Python算術(shù)操作符 1
1.1.2 回顯與print() 2
1.1.3 Python表達(dá)式計算規(guī)則 3
練習(xí)1.1 3
1.2 使用內(nèi)置數(shù)學(xué)函數(shù)計算 4
1.2.1 函數(shù)與內(nèi)置函數(shù) 4
1.2.2 Python計算型內(nèi)置函數(shù)對象 4
練習(xí)1.2 5
1.3 利用math模塊進(jìn)行計算 6
1.3.1 模塊化程序設(shè)計與Python模塊 6
1.3.2 導(dǎo)入模塊或?qū)ο?nbsp;6
1.3.3 math模塊中的常量與函數(shù) 8
練習(xí)1.3 10
1.4 使用變量計算 11
1.4.1 數(shù)據(jù)對象、變量與賦值 11
1.4.2 幾種不同的賦值方式 12
1.4.3 Python標(biāo)識符與保留字 13
1.4.4 input()函數(shù) 14
練習(xí)1.4 15
1.5 選擇型計算 16
1.5.1 if-else型選擇的基本結(jié)構(gòu) 16
1.5.2 選擇表達(dá)式 17
1.5.3 if-else蛻化結(jié)構(gòu) 18
1.5.4 if-else嵌套 18
1.5.5 if-elif選擇結(jié)構(gòu) 19
練習(xí)1.5 20
1.6 重復(fù)型計算 21
1.6.1 while語句 22
1.6.2 for語句 23
1.6.3 循環(huán)嵌套 25
1.6.4 在IDLE中執(zhí)行功能完整的代碼段 27
1.6.5 循環(huán)中斷語句與短路控制 28
練習(xí)1.6 29
1.7 窮舉與迭代 30
1.7.1 窮舉 30
1.7.2 迭代 32
練習(xí)1.7 37
第2章 Python數(shù)據(jù)對象 40
2.1 Python數(shù)據(jù)對象的屬性 40
2.1.1 Python數(shù)據(jù)對象的類型 40
2.1.2 Python對象的身份碼ID與判是操作 43
2.1.3 可變對象與不可變對象 45
2.1.4 Python數(shù)據(jù)對象生命期與垃圾回收 46
2.1.5 Python小整數(shù)對象池與大整數(shù)對象池 49
練習(xí)2.1 51
2.2 Python基本數(shù)據(jù)類型 52
2.2.1 bool類型 52
2.2.2 int類型 56
2.2.3 float類型 58
2.2.4 complex類型 59
2.2.5 Python數(shù)據(jù)類型轉(zhuǎn)換 60
練習(xí)2.2 62
2.3 序列 64
2.3.1 序列對象的構(gòu)建 64
2.3.2 序列通用操作 66
2.3.3 列表的個性化操作 72
練習(xí)2.3 74
2.4 字符串 77
2.4.1 字符串編碼與解碼 77
2.4.2 字符串的個性化操作 81
2.4.3 字符串格式化與format()方法 83
2.4.4 print()函數(shù)的格式控制 86
2.4.5 正則表達(dá)式 89
練習(xí)2.4 95
2.5 字典與集合 96
2.5.1 字典 96
2.5.2 集合 100
練習(xí)2.5 103
2.6 Python數(shù)據(jù)文件 106
2.6.1 數(shù)據(jù)文件概述 106
2.6.2 open()函數(shù) 107
2.6.3 文件屬性與方法 109
練習(xí)2.6 110
第3章 Python過程組織與管理 112
3.1 Python函數(shù) 112
3.1.1 函數(shù)及其關(guān)鍵環(huán)節(jié) 112
3.1.2 Python函數(shù)參數(shù)技術(shù) 116
3.1.3 Python函數(shù)的第一類對象特性 120
3.1.4 函數(shù)標(biāo)注 121
3.1.5 遞歸 122
3.1.6 lambda表達(dá)式 125
練習(xí)3.1 125
3.2 Python異常處理 129
3.2.1 異常處理的基本思路與異常類型 129
3.2.2 try-except語句 131
3.2.3 異常類型的層次結(jié)構(gòu) 133
3.2.4 else子句與finally子句 133
3.2.5 異常的人工觸發(fā):raise與assert 134
練習(xí)3.2 135
3.3 Python命名空間與作用域 136
3.3.1 Python命名空間 136
3.3.2 Python作用域 139
3.3.3 Python名字解析的LEGB規(guī)則 144
練習(xí)3.3 145
第4章 面向類的程序設(shè)計 147
4.1 類及其組成 147
4.1.1 類模型與類語法 147
4.1.2 對象的生成與_ _init_ _ ()方法 150
4.1.3 最小特權(quán)原則與成員訪問限制 152
4.1.4 實(shí)例方法、靜態(tài)方法與類方法 155
練習(xí)4.1 157
4.2 Python類的內(nèi)置屬性、方法與函數(shù) 158
4.2.1 類的內(nèi)置屬性 158
4.2.2 獲取類與對象特征的內(nèi)置函數(shù) 160
4.2.3 操作符重載 163
4.2.4 Python類屬性配置與管理內(nèi)置方法 166
練習(xí)4.2 173
4.3 類的繼承 175
4.3.1 類的繼承及其關(guān)系測試 176
4.3.2 新式類與object 178
4.3.3 子類訪問父類成員的規(guī)則 180
4.3.4 子類實(shí)例的初始化與super 180
練習(xí)4.3 185
第5章 Python GUI開發(fā) 188
5.1 組件、布局與事件處理 188
5.1.1 組件 188
5.1.2 布局與布局管理器 192
5.1.3 事件綁定與事件處理 195
練習(xí)5.1 200
5.2 GUI程序結(jié)構(gòu) 201
5.2.1 基于tkinter的GUI開發(fā)環(huán)節(jié) 201
5.2.2 面向?qū)ο蟮腉UI程序框架 204
練習(xí)5.2 206
5.3 GUI制作示例 206
5.3.1 Label與Button 207
5.3.2 Entry與Message 213
5.3.3 Text與滾動條 217
5.3.4 選擇框 224
5.3.5 菜單 230
練習(xí)5.3 233
第6章 Python應(yīng)用開發(fā)舉例 234
6.1 Python數(shù)據(jù)庫操作 234
6.1.1 數(shù)據(jù)庫與SQL 234
6.1.2 用pyodbc訪問數(shù)據(jù)庫 235
6.1.3 SQLite3數(shù)據(jù)庫 242
練習(xí)6.1 244
6.2 Python Socket編程 245
6.2.1 TCP/IP與Socket 245
6.2.2 Socket模塊與Socket對象 249
6.2.3 TCP的Python Socket編程 251
6.2.4 UDP的Python Socket編程 254
練習(xí)6.2 256
6.3 Python WWW應(yīng)用開發(fā) 258
6.3.1 WWW及其關(guān)鍵技術(shù) 258
6.3.2 urllib模塊庫 264
6.3.3 urllib.parse模塊與URL解析 266
6.3.4 urllib.request模塊與網(wǎng)頁抓取 267
6.3.5 網(wǎng)頁提交表單 270
6.3.6 urllib.error模塊與異常處理 271
6.3.7 webbrowser模塊 272
練習(xí)6.3 273
附錄 275
附錄A Python內(nèi)置函數(shù) 275
A.1 數(shù)學(xué)運(yùn)算 275
A.2 邏輯判斷 275
A.3 容器操作 276
A.4 字符串相關(guān) 276
A.5 類型轉(zhuǎn)換 278
A.6 I/O操作 278
A.7 反射相關(guān) 278
A.8 其他 280
附錄B Python 3.0標(biāo)準(zhǔn)異常類結(jié)構(gòu)(PEP 348) 280
附錄C 文件與目錄管理 281
C.1 文件訪問函數(shù) 281
C.2 目錄操作 282
C.3 獲取或判斷文件和路徑屬性的函數(shù) 282
C.4 路徑操作 283
C.5 文件壓縮(zipfile模塊) 283
C.6 文件復(fù)制(shutil模塊) 285
附錄D Python標(biāo)準(zhǔn)模塊庫目錄 285
D.1 文本 285
D.2 二進(jìn)制數(shù)據(jù) 286
D.3 數(shù)據(jù)類型 286
D.4 數(shù)學(xué) 286
D.5 函數(shù)式編程 286
D.6 文件與目錄 286
D.7 持久化 287
D.8 壓縮 287
D.9 文件格式化 287
D.10 加密 287
D.11 操作系統(tǒng)工具 287
D.12 并發(fā)與并行 288
D.13 進(jìn)程間通信 288
D.14 互聯(lián)網(wǎng)相關(guān) 288
D.15 HTML與XML 289
D.16 互聯(lián)網(wǎng)協(xié)議與支持 289
D.17 多媒體 290
D.18 國際化 290
D.19 編程框架 290
D.20 Tk圖形用戶接口 290
D.21 開發(fā)工具 291
D.22 調(diào)試 291
D.23 運(yùn)行時 291
D.24 解釋器 291
D.25 導(dǎo)入模塊 292
D.26 Python語言 292
D.27 其他 292
D.28 Windows相關(guān) 292
D.29 UNIX相關(guān) 292
參考文獻(xiàn) 294