第1章 入門 1
1.1 Python 的發(fā)展歷程 1
1.2 為什么使用Python 2
1.3 Python 可以做些什么 4
1.4 Python 的優(yōu)點 7
1.5 Python 和其他語言的比較 11
1.6 項目開始 14
1.6.1 Python 版本差異 14
1.6.2 項目結(jié)構(gòu) 18
1.6.3 編碼風(fēng)格與自動檢查 19
1.7 本章小結(jié) 21
1.8 本章習(xí)題 21
第2章 數(shù)據(jù)類型 22
2.1 標(biāo)識符與關(guān)鍵字 22
2.2 Integral 類型 23
2.2.1 整數(shù)類型 24
2.2.2 布爾型 25
2.3 浮點類型 26
2.3.1 浮點數(shù) 26
2.3.2 復(fù)數(shù) 27
2.3.3 十進(jìn)制數(shù)字 27
2.4 字符串 28
2.4.1 字符串的類型 28
2.4.2 字符串的比較 29
2.4.3 字符串的方法 29
2.4.4 字符串格式化 32
2.4.5 字符串操作 38
2.4.6 字符串與控制語句 40
2.4.7 字符串的應(yīng)用 41
2.5 本章小結(jié) 42
2.6 本章習(xí)題 43
第3章 組合數(shù)據(jù)類型 44
3.1 列表 45
3.1.1 列表的常用操作 45
3.1.2 列表的常用函數(shù) 49
3.2 元組 50
3.2.1 元組與列表的區(qū)別 50
3.2.2 元組的常用操作 51
3.2.3 元組的常用函數(shù) 53
3.3 字典 53
3.3.1 字典的常用操作 53
3.3.2 字典的常用函數(shù) 56
3.4 集合 59
3.4.1 集合的常用操作 59
3.4.2 集合的常用函數(shù) 62
3.5 組合數(shù)據(jù)類型的高級特性 62
3.5.1 切片 62
3.5.2 迭代 64
3.5.3 列表生成式 66
3.5.4 生成器 67
3.5.5 迭代器 73
3.6 本章小結(jié) 74
3.7 本章習(xí)題 75
第4章 控制語句與函數(shù) 76
4.1 控制語句 76
4.1.1 條件分支 76
4.1.2 循環(huán) 80
4.2 函數(shù) 85
4.2.1 調(diào)用函數(shù) 86
4.2.2 定義函數(shù) 88
4.2.3 函數(shù)的參數(shù) 90
4.2.4 遞歸函數(shù) 97
4.3 本章小結(jié) 102
4.4 本章習(xí)題 102
第5章 模塊和包 104
5.1 為什么使用模塊 104
5.2 模塊的創(chuàng)建與使用 105
5.2.1 Python 程序架構(gòu) 105
5.2.2 模塊搜索路徑 108
5.2.3 模塊導(dǎo)入語句 109
5.2.4 模塊命名空間 115
5.2.5 reload 118
5.3 包導(dǎo)入實例 119
5.4 本章小結(jié) 121
5.5 本章習(xí)題 122
第6章 類和繼承 123
6.1 類和對象 123
6.2 實例屬性和類屬性 126
6.3 類的方法 128
6.4 構(gòu)造函數(shù) 130
6.5 析構(gòu)函數(shù) 131
6.6 運算符的重載 132
6.7 繼承 140
6.8 本章小結(jié) 147
6.9 本章習(xí)題 147
第7章 文件和I/O 149
7.1 文件基礎(chǔ)知識 149
7.1.1 什么是文件 149
7.1.2 文件的打開或創(chuàng)建 149
7.1.3 字符編碼 151
7.1.4 文件的寫入 152
7.1.5 文件的讀取 155
7.1.6 文件基礎(chǔ)知識的應(yīng)用 159
7.2 文件操作 164
7.2.1 常用的文件操作函數(shù) 164
7.2.2 文件的復(fù)制 165
7.2.3 文件的刪除 166
7.2.4 文件的重命名 166
7.2.5 文件的比較 168
7.3 目錄操作 169
7.3.1 目錄的創(chuàng)建 169
7.3.2 目錄的刪除 170
7.3.3 目錄的遍歷 170
7.4 本章小結(jié) 173
7.5 本章習(xí)題 174
第8章 程序開發(fā)進(jìn)階 175
8.1 面向?qū)ο蟪绦蛟O(shè)計進(jìn)階 175
8.1.1 控制屬性存取 176
8.1.2 函子 177
8.1.3 上下文管理器 178
8.1.4 描述符 180
8.1.5 抽象基類 184
8.1.6 多繼承 187
8.1.7 元類 188
8.2 函數(shù)式編程 190
8.2.1 高階函數(shù) 191
8.2.2 閉包 192
8.2.3 匿名函數(shù) 193
8.2.4 修飾器 194
8.2.5 偏函數(shù) 196
8.3 多線程編程 197
8.3.1 多線程的編程動機 197
8.3.2 進(jìn)程和線程 197
8.3.3 線程與Python 198
8.3.4 thread 模塊 199
8.3.5 threading 模塊 199
8.3.6 圖書銷量排名示例 204
8.4 本章小結(jié) 205
8.5 本章習(xí)題 206
第9章 調(diào)試及異常 207
9.1 調(diào)試 207
9.1.1 處理錯誤 207
9.1.2 科學(xué)的調(diào)試 209
9.2 Python 中的異常類 216
9.2.1 什么是異常 216
9.2.2 異常的角色 216
9.2.3 Python 的一些內(nèi)建異常類 217
9.3 捕獲和處理異常 217
9.3.1 try…except…語句 217
9.3.2 try…except…else…語句 218
9.3.3 帶有多個except 的try 語句 218
9.3.4 捕獲所有異常 219
9.3.5 finally 子句 219
9.4 兩種處理異常的特殊方法 223
9.4.1 assert 語句 223
9.4.2 with…as 語句 225
9.5 raise 語句 226
9.5.1 raise 語句 226
9.5.2 raise…from 語句 226
9.6 采用sys 模塊回溯最后的異常 227
9.6.1 關(guān)于sys.exc_info 227
9.6.2 使用sys 模塊的例子 227
9.7 本章小結(jié) 228
9.8 本章習(xí)題 228
第10章 正則表達(dá)式 229
10.1 簡介 229
10.2 簡單模式 230
10.2.1 字符匹配 230
10.2.2 重復(fù) 231
10.3 使用正則表達(dá)式 232
10.3.1 編譯正則表達(dá)式 232
10.3.2 反斜杠帶來的麻煩 232
10.3.3 執(zhí)行匹配 233
10.3.4 模塊級函數(shù) 234
10.3.5 編譯標(biāo)志 234
10.4 更多模式功能 236
10.4.1 更多的元字符 236
10.4.2 分組 237
10.4.3 無捕獲組和命名組 238
10.4.4 前向界定符 240
10.5 修改字符串 241
10.5.1 將字符串分片 241
10.5.2 搜索與替換 242
10.6 常見問題 242
10.6.1 使用字符串的方法 243
10.6.2 match()方法與search()方法的比較 243
10.6.3 貪婪vs 不貪婪 243
10.6.4 使用re.VERBOSE 244
10.7 本章小結(jié) 245
10.8 本章習(xí)題 245
第11章 網(wǎng)絡(luò)編程 248
11.1 網(wǎng)絡(luò)編程 248
11.1.1 客戶端/服務(wù)器架構(gòu) 248
11.1.2 套接字 250
11.1.3 Python 中的網(wǎng)絡(luò)編程 252
11.1.4 socketserver 模塊 260
11.2 因特網(wǎng)應(yīng)用層客戶端 262
11.2.1 文件傳輸 262
11.2.2 網(wǎng)絡(luò)新聞 266
11.2.3 電子郵件 269
11.3 Python 網(wǎng)絡(luò)編程實例 278
11.4 本章小結(jié) 280
11.5 本章習(xí)題 280
第12章 應(yīng)用實例 281
12.1 網(wǎng)絡(luò)爬蟲 281
12.1.1 基礎(chǔ)知識 281
12.1.2 Urllib 庫 282
12.1.3 Cookie 287
12.1.4 正則表達(dá)式 289
12.1.5 實例分析——百度貼吧抓取 295
12.2 數(shù)據(jù)處理 297
12.2.1 數(shù)據(jù)處理的基本概念 297
12.2.2 相關(guān)類庫的介紹 297
12.2.3 數(shù)據(jù)處理常用技術(shù) 298
12.2.4 Pandas 學(xué)習(xí)與實戰(zhàn) 309
12.3 基于Django 的Web 開發(fā) 313
12.3.1 Django 簡介及安裝 313
12.3.2 Django 安裝 314
12.3.3 第一個Django 項目 316
12.3.4 搭建一個簡易的博客網(wǎng)站 318
12.4 本章小結(jié) 348