第1章Python核心知識回顧 11.1探索Python語言和解釋器 1
1.2回顧Python數據類型 3
1.2.1數值類型:整數和浮點數 4
1.2.2布爾類型 5
1.2.3None類型 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.2datetime模塊介紹 74
2.2.3calendar模塊介紹 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創建LendyDBSQL數據庫 145
3.4.3插入測試數據 146
3.4.4創建一個LendyDBAPI 148
3.5探索其他數據管理選擇 154
3.5.1主從數據庫 154
3.5.2NoSQL 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-ToeGUI 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探索其他PythonGUI工具包 207
4.11.1wxPython 207
4.11.2PyQt 208
4.11.3PyGTK 209
4.11.4原生GUI:Cocoa和PyWin32 209
4.11.5Dabo 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.1Python在Web中的應用 224
5.1.1Web應用的組成部分 225
5.1.2客戶端-服務器關系 226
5.1.3中間件和MVC 226
5.1.4HTTP方法和頭信息 227
5.1.5什么是API 230
5.2使用Python進行Web編程 234
5.3有關Python和Web的更多知識 247
5.3.1靜態網站生成器 247
5.3.2Web框架 247
5.4使用Python跨網工作 248
5.4.1XML-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.3Python中的測試驅動開發 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使用turtlegraphics 284
7.1.2使用GUICanvas對象 284
7.1.3繪制數據 284
7.1.4使用imghdr 285
7.1.5Pillow簡介 285
7.1.6試試ImageMagick 285
7.2使用Python輔助科學 286
7.2.1SciPy簡介 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.1Jython 291
7.5.2IronPython 291
7.5.3Cython 292
7.5.4Tcl/Tk 292
7.6進入物理領域 293
7.6.1serial選項介紹 293
7.6.2RaspberryPi編程 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
附錄BPython標準模塊 315
附錄C可用Python資源 323