目 錄
第1章 Python核心知識迴顧 1
1.1 探索Python語言和解釋器 1
1.2 迴顧Python數據類型 3
1.2.1 數值類型:整數和浮點數 4
1.2.2 布爾類型 5
1.2.3 None類型 6
1.2.4 容器類型 6
1.2.5 字符串 7
1.2.6 字節和字節數組 9
1.2.7 元組 10
1.2.8 列錶 11
1.2.9 字典 12
1.2.10 集 13
1.3 使用Python控製結構 15
1.3.1 結構化你的程序 15
1.3.2 使用序列、塊和注釋 16
1.3.3 選擇一個執行路徑 17
1.3.4 迭代 18
1.3.5 異常處理 20
1.3.6 上下文管理 21
1.4 在Python中讀取和輸齣數據 21
1.4.1 與用戶交互 21
1.4.2 使用文本文件 23
1.5 擴展Python 24
1.5.1 定義並使用函數 24
1.5.2 定義並使用類和對象 28
1.6 創建和使用模塊和包 32
1.6.1 使用和創建模塊 33
1.6.2 使用和創建包 34
1.7 創建示例包 35
1.8 使用第三方包 42
1.9 本章小結 43
第2章 Python腳本 47
2.1 訪問操作係統 48
2.1.1 獲得關於用戶和他們的電腦的信息 49
2.1.2 獲得當前進程信息 52
2.1.3 管理其他程序 54
2.1.4 更加高效地管理子進程 57
2.1.5 獲取文件(和設備)的信息 60
2.1.6 瀏覽和操縱文件係統 62
2.1.7 探索目錄樹深度 68
2.2 使用日期和時間 71
2.2.1 使用time模塊 71
2.2.2 datetime模塊介紹 74
2.2.3 calendar模塊介紹 75
2.3 處理常見的文件格式 76
2.3.1 使用逗號分隔的數值 76
2.3.2 使用Config文件 82
2.3.3 操作XML和HTML文件 85
2.4 使用ctypes和pywin32訪問原生API 93
2.4.1 訪問操作係統庫 94
2.4.2 使用COM訪問Windows應用 96
2.5 涉及多應用的自動化任務 97
2.5.1 使用Python 98
2.5.2 使用操作係統工具 98
2.5.3 使用數據文件 98
2.5.4 使用第三方模塊 98
2.5.5 通過命令行接口與子進程交互 99
2.5.6 為基於服務器的應用使用Web服務 99
2.5.7 使用一個原生代碼API 99
2.5.8 使用GUI機器人學 99
2.6 本章小結 100
第3章 管理數據 103
3.1 使用Python存儲數據 104
3.1.1 使用DBM作為持久化字典 104
3.1.2 使用Pickle存取對象 109
3.1.3 使用shelve訪問對象 111
3.2 使用Python分析數據 116
3.2.1 使用Python的內置特性分析數據 116
3.2.2 使用itertools分析數據 119
3.2.3 使用itertools分析LendyDB數據 124
3.3 使用SQL管理數據 126
3.3.1 關係型數據庫的概念 126
3.3.2 結構化查詢語言 127
3.3.3 跨錶鏈接數據 134
3.3.4 多對多關係 140
3.4 從LendyDB遷移到SQL
數據庫 143
3.4.1 從Python訪問SQL 143
3.4.2 創建LendyDB SQL數據庫 145
3.4.3 插入測試數據 146
3.4.4 創建一個LendyDB API 148
3.5 探索其他數據管理選擇 154
3.5.1 主從數據庫 154
3.5.2 NoSQL 155
3.5.3 雲計算 155
3.5.4 使用RPy進行數據分析 156
3.6 本章小結 157
第4章 創建桌麵應用 161
4.1 組織應用程序 162
4.2 創建命令行界麵 163
4.2.1 創建數據層 163
4.2.2 創建核心邏輯層 165
4.2.3 創建用戶界麵 169
4.3 使用cmd模塊創建命令行界麵 173
4.4 讀取命令行參數 175
4.5 用一些對話框讓命令行界麵變得生動 176
4.6 使用Tkinter編程GUI 180
4.7 創建簡單的GUI 183
4.8 創建Tic-Tac-Toe GUI 186
4.8.1 勾勒一個UI設計 186
4.8.2 創建菜單 187
4.8.3 創建Tic-Tac-Toe麵闆 188
4.8.4 將GUI連接到遊戲 189
4.9 擴展Tkinter 194
4.9.1 使用tix 194
4.9.2 使用ttk 198
4.10 再次迴顧藉齣庫 199
4.11 探索其他Python GUI工具包 207
4.11.1 wxPython 207
4.11.2 PyQt 208
4.11.3 PyGTK 209
4.11.4 原生GUI:Cocoa和PyWin32 209
4.11.5 Dabo 210
4.12 存儲本地數據 210
4.12.1 存儲特定於應用的數據 211
4.12.2 存儲用戶選擇偏好 211
4.12.3 存儲應用狀態 212
4.12.4 記錄錯誤信息 212
4.13 理解本地化 214
4.13.1 使用區域設置 214
4.13.2 在Python中使用Unicode 216
4.13.3 使用gettext 218
4.14 本章小結 220
第5章 Python在Web中的應用 223
5.1 Python在Web中的應用 224
5.1.1 Web應用的組成部分 225
5.1.2 客戶端-服務器關係 226
5.1.3 中間件和MVC 226
5.1.4 HTTP方法和頭信息 227
5.1.5 什麼是API 230
5.2 使用Python進行Web編程 234
5.3 有關Python和Web的更多知識 247
5.3.1 靜態網站生成器 247
5.3.2 Web框架 247
5.4 使用Python跨網工作 248
5.4.1 XML-RPC 248
5.4.2 套接字服務器 249
5.5 更多Python網絡編程的樂趣 252
5.6 本章小結 253
第6章 Python在更大項目中的應用 255
6.1 使用doctest模塊測試 256
6.2 使用unittest模塊測試 261
6.3 Python中的測試驅動開發 265
6.4 調試Python代碼 266
6.5 工作在更大的Python項目中 275
6.6 發布Python包 279
6.7 本章小結 281
第7章 探索Python前沿技術 283
7.1 使用Python繪圖 283
7.1.1 使用turtle graphics 284
7.1.2 使用GUI Canvas對象 284
7.1.3 繪製數據 284
7.1.4 使用imghdr 285
7.1.5 Pillow簡介 285
7.1.6 試試ImageMagick 285
7.2 使用Python輔助科學 286
7.2.1 SciPy簡介 286
7.2.2 使用Python輔助生物科學 287
7.2.3 使用GIS 287
7.2.4 處理語言 287
7.2.5 綜述 288
7.3 使用Python開發遊戲 288
7.3.1 增強PyGame經驗 288
7.3.2 探索其他選項 289
7.4 進入電影領域 289
7.5 與其他語言集成 290
7.5.1 Jython 291
7.5.2 IronPython 291
7.5.3 Cython 292
7.5.4 Tcl/Tk 292
7.6 進入物理領域 293
7.6.1 serial選項介紹 293
7.6.2 RaspberryPi編程 294
7.6.3 與Arduino對話 294
7.6.4 探索其他選項 294
7.7 創建Python 295
7.7.1 修復bug 295
7.7.2 文檔化 295
7.7.3 測試 295
7.7.4 添加特性 296
7.7.5 參加會議 296
7.8 本章小結 296
附錄A 練習答案 299
附錄B Python標準模塊 315
附錄C 可用Python資源 323
· · · · · · (
收起)