第1部分入門篇
第1章初識Python 2
1.1 Python是什麼 2
1.2 Python有什麼優點 3
1.3 其他程序設計語言中的Python 4
1.4 快速搭建Python開發環境 5
1.4.1 哪些係統中可使用Python 5
1.4.2 Python的下載和安裝 6
1.4.3 用VS2008編譯Python源碼 8
1.4.4 Python開發工具:Vim 9
1.4.5 Python開發工具:Emacs 13
1.4.6 Python開發工具:PythonWin 16
1.4.7 其他的Python開發工具 17
1.5 第一個Python程序 19
1.5.1 從“Hello,Python!”開始 19
1.5.2 Python的交互解釋器 20
1.6 本章小結 21
第2章 Python起步必備 22
2.1 Python代碼的組織形式 22
2.1.1 用縮進來分層 22
2.1.2 兩種代碼注釋的方式 23
2.1.3 Python語句的斷行 23
2.2 Python的基本輸入輸齣函數 25
2.2.1 接收輸入的input函數 25
2.2.2 輸齣內容的print函數 26
2.3 Python對中文的支持 27
2.3.1 Python 3之前版本如何使用中文 27
2.3.2 更全麵的中文支持 29
2.4 簡單實用的Python計算器 29
2.4.1 直接進行算術運算 30
2.4.2 math模塊提供豐富的數學函數 30
2.4.3 Python對大整數的支持 31
2.5 本章小結 32
第3章 Python數據類型與基本語句 33
3.1 Python數據類型:數字 33
3.1.1 整型和浮點型 33
3.1.2 運算符 34
3.2 Python數據類型:字符串 36
3.2.1 Python中的字符串 36
3.2.2 字符串中的轉義字符 36
3.2.3 操作字符串 37
3.2.4 字符串的索引和分片 39
3.2.5 格式化字符串 40
3.2.6 字符串、數字類型的轉換 40
3.2.7 原始字符串(Raw String) 41
3.3 Python數據類型:列錶和元組 42
3.3.1 創建和操作列錶 42
3.3.2 創建和操作元組 43
3.4 Python數據類型:字典 43
3.5 Python數據類型:文件 44
3.6 Python的流程控製語句 46
3.6.1 分支結構:if語句 46
3.6.2 循環結構:for語句 48
3.6.3 循環結構:while語句 50
3.7 本章小結 51
第4章可復用的函數與模塊 52
4.1 Python自定義函數 52
4.1.1 函數聲明 52
4.1.2 函數調用 53
4.2 參數讓函數更有價值 54
4.2.1 有默認值的參數 54
4.2.2 參數的傳遞方式 55
4.2.3 如何傳遞任意數量的參數 56
4.2.4 用參數返迴計算結果 57
4.3 變量的作用域 57
4.4 最簡單的函數:用lambda聲明函數 58
4.5 可重用結構:Python模塊 59
4.5.1 Python模塊的基本用法 59
4.5.2 Python在哪裏查找模塊 61
4.5.3 是否需要編譯模塊 62
4.5.4 模塊也可獨立運行 63
4.5.5 如何查看模塊提供的函數名 64
4.6 用包來管理多個模塊 65
4.7 本章小結 66
第5章數據結構與算法 67
5.1 錶、棧和隊列 67
5.1.1 錶 67
5.1.2 棧 68
5.1.3 隊列 70
5.2 樹和圖 72
5.2.1 樹 72
5.2.2 二叉樹 73
5.2.3 圖 76
5.3 查找與排序 78
5.3.1 查找 78
5.3.2 排序 79
5.4 本章小結 82
第6章麵嚮對象的Python 83
6.1 麵嚮對象編程概述 83
6.1.1 Python中的麵嚮對象思想 83
6.1.2 類和對象 84
6.2 在Python中定義和使用類 84
6.2.1 類的定義 85
6.2.2 類的使用 86
6.3 類的屬性和方法 87
6.3.1 類的屬性 87
6.3.2 類的方法 88
6.4 類的繼承 91
6.4.1 使用繼承 91
6.4.2 Python的多重繼承 92
6.5 在類中重載方法和運算符 94
6.5.1 方法重載 94
6.5.2 運算符重載 95
6.6 在模塊中定義類 97
6.7 本章小結 98
第7章異常處理與程序調試 99
7.1 異常的處理 99
7.1.1 用try語句捕獲異常 99
7.1.2 常見異常的處理 101
7.1.3 多重異常的捕獲 102
7.2 用代碼拋齣異常 103
7.2.1 用raise拋齣異常 103
7.2.2 assert——簡化的raise語句 104
7.2.3 自定義異常類 105
7.3 使用pdb調試Python腳本 106
7.3.1 運行語句 106
7.3.2 運行錶達式 107
7.3.3 運行函數 107
7.3.4 設置硬斷點 108
7.3.5 pdb調試命令 109
7.4 在PythonWin中調試程序 111
7.5 本章小結 113
第8章 Python多媒體編程 114
8.1 使用PyOpenGL繪製三維圖形 114
8.1.1 安裝PyOpenGL 114
8.1.2 使用PyOpenGL創建窗口 115
8.1.3 繪製文字 116
8.1.4 繪製二維圖形 118
8.1.5 繪製三維圖形 120
8.1.6 紋理映射 122
8.2 播放音頻文件 125
8.2.1 使用DirectSound 125
8.2.2 使用WMPlayer.OCX 126
8.3 PyGame 128
8.3.1 安裝PyGame 128
8.3.2 使用PyGame編寫簡單的遊戲 129
8.4 本章小結 132
第9章使用PIL處理圖片 133
9.1 PIL概述 133
9.1.1 安裝PIL 133
9.1.2 PIL簡介 135
9.2 使用PIL處理圖片 137
9.2.1 轉換圖片格式 137
9.2.2 生成縮略圖 139
9.2.3 為圖片添加Logo 142
9.3 本章小結 147
第10章係統編程 148
10.1 訪問Windows注冊錶 148
10.1.1 注冊錶概述 148
10.1.2 使用Python操作注冊錶 149
10.1.3 查看係統啓動項 152
10.1.4 修改IE 153
10.2 文件和目錄 156
10.2.1 文件目錄常用函數 156
10.2.2 批量重命名 158
10.2.3 代碼框架生成器 159
10.3 生成可執行文件 160
10.3.1 安裝py2exe 161
10.3.2 使用py2exe生成可執行文件 161
10.3.3 使用cx_freeze生成可執行
文件 163
10.4 運行其他程序 164
10.4.1 使用os.system()函數運行其
他程序 164
10.4.2 使用ShellExecute函數運行
其他程序 165
10.4.3 使用CreateProcess函數運行
其他程序 166
10.4.4 使用ctypes調用kernel32.dll
中的函數 167
10.5 本章小結 168
第11章使用PythonWin編寫GUI 169
11.1 Windows GUI編程概述 169
11.1.1 使用Windows API創建窗口 169
11.1.2 使用MFC創建窗口 172
11.2 創建對話框 172
11.2.1 創建對話框 173
11.2.2 嚮對話框添加控件 174
11.2.3 使用DLL文件中的資源 176
11.2.4 處理按鈕消息 177
11.3 創建菜單 179
11.3.1 創建菜單 179
11.3.2 使用DLL中的菜單 182
11.3.3 處理菜單消息 184
11.4 本章小結 185
第12章使用tkinter編寫GUI 186
12.1 tkinter概述 186
12.1.1 創建簡單的窗口 186
12.1.2 嚮窗口中添加組件 187
12.2 使用組件 188
12.2.1 組件分類 188
12.2.2 組件布局 188
12.2.3 使用按鈕 189
12.2.4 使用文本框 190
12.2.5 使用標簽 192
12.2.6 使用菜單 193
12.2.7 使用單選框和復選框 195
12.2.8 繪製圖形 197
12.3 事件處理 199
12.3.1 事件錶示 199
12.3.2 響應事件 201
12.4 創建對話框 204
12.4.1 使用標準對話框 204
12.4.2 創建自定義對話框 208
12.5 本章小結 210
第13章使用wxPython編寫GUI 211
13.1 wxPython概述 211
13.1.1 安裝wxPython 211
13.1.2 創建窗口 212
13.2 組件 214
13.2.1 麵闆 214
13.2.2 按鈕 215
13.2.3 標簽 217
13.2.4 文本框 218
13.2.5 單選框和復選框 221
13.2.6 使用sizer布置組件 222
13.3 對話框 224
13.3.1 消息框和標準對話框 224
13.3.2 創建自定義對話框 226
13.4 菜單 227
13.4.1 創建菜單 228
13.4.2 綁定菜單事件 230
13.5 一個簡單的文本編輯器 231
13.5 本章小結 234
第14章使用PyGTK編寫GUI 235
14.1 PyGTK概述 235
14.1.1 PyGTK安裝 235
14.1.2 創建窗口 236
14.2 組件 238
14.2.1 標簽 238
14.2.2 按鈕 241
14.2.3 容器組件 243
14.2.4 文本框 246
14.2.5 單選框和復選框 249
14.3 消息框和對話框 250
14.3.1 消息框 250
14.3.2 標準對話框 252
14.3.3 自定義對話框 254
14.4 使用菜單 256
14.4.1 創建菜單 256
14.4.2 菜單事件 259
14.5 資源文件 260
14.5.1 使用Glade創建資源文件 261
14.5.2 使用資源文件 263
14.6 本章小結 264
第15章使用PyQT編寫GUI 265
15.1 PyQt概述 265
15.1.1 PyQt的安裝 265
15.1.2 使用PyQt創建窗口 266
15.2 組件 267
15.2.1 標簽 267
15.2.2 布局組件和空白項 268
15.2.3 按鈕 270
15.2.4 文本框 272
15.2.5 單選框和復選框 275
15.2.6 菜單 276
15.3 創建對話框 278
15.3.1 消息框和標準對話框 279
15.3.2 自定義對話框 283
15.4 使用資源 285
15.4.1 使用Qt Designer創建資源
文件 285
15.4.2 使用資源文件 287
15.5 本章小結 288
第2部分高級篇
第16章 Python與數據庫 290
16.1 連接Access數據庫 290
16.1.1 使用ODBC連接Access數
據庫 290
16.1.2 使用 DAO連接Access數
據庫 294
16.1.3 使用ADO連接Access數
據庫 295
16.2 使用MySQL數據庫 296
16.2.1 安裝MySQL 297
16.2.2 連接到MySQL 299
16.3 嵌入式數據庫SQLite 301
16.4 本章小結 302
第17章 Python Web應用 303
17.1 開源Web應用服務器Zope 303
17.1.1 安裝Zope 303
17.1.2 使用Zope管理界麵 305
17.1.3 創建模闆 308
17.1.4 添加Python腳本 310
17.2 使用Plone內容管理係統 312
17.2.1 安裝Plone 312
17.2.2 安裝Plone插件 314
17.3 在Microsoft IIS中使用Python 316
17.3.1 安裝Microsoft IIS 317
17.3.2 在ASP中使用Python腳本 319
17.3.3 一個簡單的例子 321
17.4 在Apache中使用Python 325
17.4.1 安裝配置Apache 325
17.4.2 安裝mod_python 327
17.4.3 使用Python Sever Pages創建
留言闆 328
17.5 本章小結 331
第18章 Python網絡編程 332
18.1 使用socket模塊 332
18.1.1 網絡編程概述 332
18.1.2 使用socket模塊建立網絡
通信 333
18.1.3 在局域網中傳輸文件 338
18.2 使用urllib、httplib和ftplib 341
18.2.1 使用Python訪問網站 341
18.2.2 訪問FTP 345
18.3 使用poplib和smtplib模塊收發郵件 350
18.3.1 檢查E-mail 350
18.3.2 發送E-mail 353
18.4 本章小結 357
第19章處理HTML與XML 358
19.1 處理HTML 358
19.1.1 HTMLParser類簡介 358
19.1.2 獲取頁麵圖片地址 359
19.1.3 查看天氣預報 361
19.2 處理XML 366
19.2.1 XML基礎 367
19.2.2 文檔類型定義 368
19.2.3 命名空間 370
19.3 使用Python處理XML 370
19.3.1 使用xml.parsers.expat處理
XML 371
19.3.2 使用xml.sax處理XML 373
19.3.3 使用xml.dom處理XML 374
19.4 簡單的RSS閱讀器 375
19.5 本章小結 378
第20章功能強大的正則錶達式 379
20.1 正則錶達式概述 379
20.1.1 正則錶達式的基本元字符 379
20.1.2 常用正則錶達式分析 380
20.2 支持正則錶達式的re模塊 381
20.2.1 用match函數進行搜索 381
20.2.2 用sub函數進行內容替換 382
20.2.3 用split函數分割字符串 383
20.3 編譯生成正則錶達式對象 383
20.3.1 以“”開頭的元字符 383
20.3.2 用compile函數編譯正則錶
達式 385
20.3.3 在正則錶達式中使用原始字
符串 385
20.4 用正則錶達式對象提速 386
20.4.1 使用match方法匹配和搜索 386
20.4.2 使用sub方法替換內容 387
20.4.3 使用split方法分割字符串 388
20.5 正則錶達式中的分組 389
20.5.1 分組的概述 389
20.5.2 分組的擴展語法 390
20.6 匹配和搜索的結果對象:Match對象 391
20.6.1 使用Match對象處理組 391
20.6.2 使用Match對象處理索引 392
20.7 使用正則錶達式處理文件 393
20.8 本章小結 395
第21章科學計算 396
21.1 NumPy和SciPy簡介 396
21.1.1 安裝NumPy和SciPy 396
21.1.2 NumPy簡介 398
21.1.3 SciPy簡介 399
21.2 矩陣運算和解綫性方程組 400
21.2.1 矩陣運算 400
21.2.2 解綫性方程組 402
21.3 使用Matplotlib繪製函數圖形 403
21.3.1 安裝Matplotlib 403
21.3.2 使用Matplotlib繪製圖形 405
21.4 本章小結 407
第22章 Python擴展和嵌入 408
22.1 用C/C++擴展Python 408
22.1.1 VS2008編譯環境的設置 408
22.1.2 Python擴展程序的結構 414
22.1.3 在Python擴展中使用MFC 416
22.2 在C/C++中嵌入Python 420
22.2.1 高層次的嵌入Python 420
22.2.2 較低層次嵌入Python 421
22.2.3 在C中嵌入Python實例 426
22.3 通過SWIG編寫Python擴展 428
22.3.1 在VS中使用SWIG 428
22.3.3 SWIG接口文件的語法簡介 431
22.4 Boost.Python使程序更簡單 433
22.4.1 下載編譯Boost.Python 433
22.4.2 使用Boost.Python簡化擴展
和嵌入 435
22.4.3 使用Pyste生成代碼 439
22.5 本章小結 440
第23章多綫程編程 441
23.1 綫程基礎 441
23.1.1 創建綫程 441
23.1.2 Thread對象中的方法 442
23.2 綫程同步 445
23.2.1 簡單的綫程同步 445
23.2.2 使用條件變量保持綫程同步 447
23.2.3 使用隊列讓綫程同步 448
23.3 綫程間通信 449
23.3.1 Event對象的方法 449
23.3.2 使用Event對象實現綫程間
通信 450
23.4 微綫程——Stackless Python 450
23.4.1 Stackless Python概述 451
23.4.2 使用微綫程 453
23.5 本章小結 454
第3部分案例篇
第24章案例1:用Python優化Windows 456
24.1 案例概述 456
24.2 創建圖形化界麵 457
24.2.1 編寫腳本創建GUI 457
24.2.2 響應菜單事件 459
24.3 清理垃圾文件 461
24.3.1 遍曆目錄 462
24.3.2 掃描垃圾文件 463
24.3.3 使用多綫程 464
24.3.4 掃描所有磁盤 465
24.3.5 刪除垃圾文件 467
24.4 搜索文件 469
24.4.1 搜索大文件 469
24.4.2 按名稱搜索文件 471
24.5 本章小結 472
第25章案例2:用Python玩轉大數據 473
25.1 案例概述 473
25.1.1 瞭解大數據處理方式 473
25.1.2 處理日誌文件 474
25.1.3 案例目標 475
25.2 日誌文件的分割 476
25.3 編寫Map函數處理小文件 477
25.4 編寫Reduce函數 479
25.5 本章小結 480
第26章案例3:植物大戰僵屍 481
26.1 案例概述 481
26.1.1 遊戲效果 481
26.1.2 遊戲規劃設計 482
26.2 收集資源 483
26.2.1 收集圖片素材 483
26.2.3 收集聲效素材 484
26.3 編寫初始腳本 485
26.3.1 定義遊戲初始環境 485
26.3.2 導入遊戲素材 486
26.4 編寫遊戲核心腳本 489
26.4.1 編寫遊戲循環腳本 489
26.4.2 處理事件——響應玩傢的
操作 490
26.4.3 添加角色到遊戲 492
26.4.4 更新角色狀態 493
26.4.5 重繪畫麵 494
26.4.6 判斷角色交戰狀態 494
26.4.7 判斷勝負狀態 495
26.5 本章小結 496
· · · · · · (
收起)