目錄
第1章 一個(gè)萬(wàn)能計算器 1
1.1 簡(jiǎn)單算術(shù)計算 1
1.1.1 Python算術(shù)操作符 1
1.1.2 回顯與print() 2
1.1.3 Python表達式計算規則 3
練習1.1 3
1.2 使用內置數學(xué)函數計算 4
1.2.1 函數與內置函數 4
1.2.2 Python計算型內置函數對象 4
練習1.2 5
1.3 利用math模塊進(jìn)行計算 6
1.3.1 模塊化程序設計與Python模塊 6
1.3.2 導入模塊或對象 6
1.3.3 math模塊中的常量與函數 8
練習1.3 10
1.4 使用變量計算 11
1.4.1 數據對象、變量與賦值 11
1.4.2 幾種不同的賦值方式 12
1.4.3 Python標識符與保留字 13
1.4.4 input()函數 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語(yǔ)句 22
1.6.2 for語(yǔ)句 23
1.6.3 循環(huán)嵌套 25
1.6.4 在IDLE中執行功能完整的代碼段 27
1.6.5 循環(huán)中斷語(yǔ)句與短路控制 28
練習1.6 29
1.7 窮舉與迭代 30
1.7.1 窮舉 30
1.7.2 迭代 32
練習1.7 37
第2章 Python數據對象 40
2.1 Python數據對象的屬性 40
2.1.1 Python數據對象的類(lèi)型 40
2.1.2 Python對象的身份碼ID與判是操作 43
2.1.3 可變對象與不可變對象 45
2.1.4 Python數據對象生命期與垃圾回收 46
2.1.5 Python小整數對象池與大整數對象池 49
練習2.1 51
2.2 Python基本數據類(lèi)型 52
2.2.1 bool類(lèi)型 52
2.2.2 int類(lèi)型 56
2.2.3 float類(lèi)型 58
2.2.4 complex類(lèi)型 59
2.2.5 Python數據類(lèi)型轉換 60
練習2.2 62
2.3 序列 64
2.3.1 序列對象的構建 64
2.3.2 序列通用操作 66
2.3.3 列表的個(gè)性化操作 72
練習2.3 74
2.4 字符串 77
2.4.1 字符串編碼與解碼 77
2.4.2 字符串的個(gè)性化操作 81
2.4.3 字符串格式化與format()方法 83
2.4.4 print()函數的格式控制 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數據文件 106
2.6.1 數據文件概述 106
2.6.2 open()函數 107
2.6.3 文件屬性與方法 109
練習2.6 110
第3章 Python過(guò)程組織與管理 112
3.1 Python函數 112
3.1.1 函數及其關(guān)鍵環(huán)節 112
3.1.2 Python函數參數技術(shù) 116
3.1.3 Python函數的第一類(lèi)對象特性 120
3.1.4 函數標注 121
3.1.5 遞歸 122
3.1.6 lambda表達式 125
練習3.1 125
3.2 Python異常處理 129
3.2.1 異常處理的基本思路與異常類(lèi)型 129
3.2.2 try-except語(yǔ)句 131
3.2.3 異常類(lèi)型的層次結構 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規則 144
練習3.3 145
第4章 面向類(lèi)的程序設計 147
4.1 類(lèi)及其組成 147
4.1.1 類(lèi)模型與類(lèi)語(yǔ)法 147
4.1.2 對象的生成與_ _init_ _ ()方法 150
4.1.3 最小特權原則與成員訪(fǎng)問(wèn)限制 152
4.1.4 實(shí)例方法、靜態(tài)方法與類(lèi)方法 155
練習4.1 157
4.2 Python類(lèi)的內置屬性、方法與函數 158
4.2.1 類(lèi)的內置屬性 158
4.2.2 獲取類(lèi)與對象特征的內置函數 160
4.2.3 操作符重載 163
4.2.4 Python類(lèi)屬性配置與管理內置方法 166
練習4.2 173
4.3 類(lèi)的繼承 175
4.3.1 類(lèi)的繼承及其關(guān)系測試 176
4.3.2 新式類(lèi)與object 178
4.3.3 子類(lèi)訪(fǎng)問(wèn)父類(lèi)成員的規則 180
4.3.4 子類(lèi)實(shí)例的初始化與super 180
練習4.3 185
第5章 Python GUI開(kāi)發(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開(kāi)發(fā)環(huán)節 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與滾動(dòng)條 217
5.3.4 選擇框 224
5.3.5 菜單 230
練習5.3 233
第6章 Python應用開(kāi)發(fā)舉例 234
6.1 Python數據庫操作 234
6.1.1 數據庫與SQL 234
6.1.2 用pyodbc訪(fǎng)問(wèn)數據庫 235
6.1.3 SQLite3數據庫 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應用開(kāi)發(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)頁(yè)抓取 267
6.3.5 網(wǎng)頁(yè)提交表單 270
6.3.6 urllib.error模塊與異常處理 271
6.3.7 webbrowser模塊 272
練習6.3 273
附錄 275
附錄A Python內置函數 275
A.1 數學(xué)運算 275
A.2 邏輯判斷 275
A.3 容器操作 276
A.4 字符串相關(guān) 276
A.5 類(lèi)型轉換 278
A.6 I/O操作 278
A.7 反射相關(guān) 278
A.8 其他 280
附錄B Python 3.0標準異常類(lèi)結構(PEP 348) 280
附錄C 文件與目錄管理 281
C.1 文件訪(fǎng)問(wèn)函數 281
C.2 目錄操作 282
C.3 獲取或判斷文件和路徑屬性的函數 282
C.4 路徑操作 283
C.5 文件壓縮(zipfile模塊) 283
C.6 文件復制(shutil模塊) 285
附錄D Python標準模塊庫目錄 285
D.1 文本 285
D.2 二進(jìn)制數據 286
D.3 數據類(lèi)型 286
D.4 數學(xué) 286
D.5 函數式編程 286
D.6 文件與目錄 286
D.7 持久化 287
D.8 壓縮 287
D.9 文件格式化 287
D.10 加密 287
D.11 操作系統工具 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圖形用戶(hù)接口 290
D.21 開(kāi)發(fā)工具 291
D.22 調試 291
D.23 運行時(shí) 291
D.24 解釋器 291
D.25 導入模塊 292
D.26 Python語(yǔ)言 292
D.27 其他 292
D.28 Windows相關(guān) 292
D.29 UNIX相關(guān) 292
參考文獻 294