目錄
第1章 一個萬能計算器 1
1.1 簡單算術計算 1
1.1.1 Python算術操作符 1
1.1.2 回顯與print() 2
1.1.3 Python表達式計算規(guī)則 3
練習1.1 3
1.2 使用內(nèi)置數(shù)學函數(shù)計算 4
1.2.1 函數(shù)與內(nèi)置函數(shù) 4
1.2.2 Python計算型內(nèi)置函數(shù)對象 4
練習1.2 5
1.3 利用math模塊進行計算 6
1.3.1 模塊化程序設計與Python模塊 6
1.3.2 導入模塊或對象 6
1.3.3 math模塊中的常量與函數(shù) 8
練習1.3 10
1.4 使用變量計算 11
1.4.1 數(shù)據(jù)對象、變量與賦值 11
1.4.2 幾種不同的賦值方式 12
1.4.3 Python標識符與保留字 13
1.4.4 input()函數(shù) 14
練習1.4 15
1.5 選擇型計算 16
1.5.1 if-else型選擇的基本結構 16
1.5.2 選擇表達式 17
1.5.3 if-else蛻化結構 18
1.5.4 if-else嵌套 18
1.5.5 if-elif選擇結構 19
練習1.5 20
1.6 重復型計算 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
練習1.6 29
1.7 窮舉與迭代 30
1.7.1 窮舉 30
1.7.2 迭代 32
練習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
練習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ù)類型轉換 60
練習2.2 62
2.3 序列 64
2.3.1 序列對象的構建 64
2.3.2 序列通用操作 66
2.3.3 列表的個性化操作 72
練習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 正則表達式 89
練習2.4 95
2.5 字典與集合 96
2.5.1 字典 96
2.5.2 集合 100
練習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
練習2.6 110
第3章 Python過程組織與管理 112
3.1 Python函數(shù) 112
3.1.1 函數(shù)及其關鍵環(huán)節(jié) 112
3.1.2 Python函數(shù)參數(shù)技術 116
3.1.3 Python函數(shù)的第一類對象特性 120
3.1.4 函數(shù)標注 121
3.1.5 遞歸 122
3.1.6 lambda表達式 125
練習3.1 125
3.2 Python異常處理 129
3.2.1 異常處理的基本思路與異常類型 129
3.2.2 try-except語句 131
3.2.3 異常類型的層次結構 133
3.2.4 else子句與finally子句 133
3.2.5 異常的人工觸發(fā):raise與assert 134
練習3.2 135
3.3 Python命名空間與作用域 136
3.3.1 Python命名空間 136
3.3.2 Python作用域 139
3.3.3 Python名字解析的LEGB規(guī)則 144
練習3.3 145
第4章 面向類的程序設計 147
4.1 類及其組成 147
4.1.1 類模型與類語法 147
4.1.2 對象的生成與_ _init_ _ ()方法 150
4.1.3 最小特權原則與成員訪問限制 152
4.1.4 實例方法、靜態(tài)方法與類方法 155
練習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
練習4.2 173
4.3 類的繼承 175
4.3.1 類的繼承及其關系測試 176
4.3.2 新式類與object 178
4.3.3 子類訪問父類成員的規(guī)則 180
4.3.4 子類實例的初始化與super 180
練習4.3 185
第5章 Python GUI開發(fā) 188
5.1 組件、布局與事件處理 188
5.1.1 組件 188
5.1.2 布局與布局管理器 192
5.1.3 事件綁定與事件處理 195
練習5.1 200
5.2 GUI程序結構 201
5.2.1 基于tkinter的GUI開發(fā)環(huán)節(jié) 201
5.2.2 面向對象的GUI程序框架 204
練習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
練習5.3 233
第6章 Python應用開發(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
練習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
練習6.2 256
6.3 Python WWW應用開發(fā) 258
6.3.1 WWW及其關鍵技術 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
練習6.3 273
附錄 275
附錄A Python內(nèi)置函數(shù) 275
A.1 數(shù)學運算 275
A.2 邏輯判斷 275
A.3 容器操作 276
A.4 字符串相關 276
A.5 類型轉換 278
A.6 I/O操作 278
A.7 反射相關 278
A.8 其他 280
附錄B Python 3.0標準異常類結構(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 文件復制(shutil模塊) 285
附錄D Python標準模塊庫目錄 285
D.1 文本 285
D.2 二進制數(shù)據(jù) 286
D.3 數(shù)據(jù)類型 286
D.4 數(shù)學 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 進程間通信 288
D.14 互聯(lián)網(wǎng)相關 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 運行時 291
D.24 解釋器 291
D.25 導入模塊 292
D.26 Python語言 292
D.27 其他 292
D.28 Windows相關 292
D.29 UNIX相關 292
參考文獻 294