本書主要內容包括:第一章 python入門、第二章 數據類型、第三章 組合數據類型、第四章 控制語句與函數、第五章 模塊和包、第六章 類和繼承、第七章 文件和I/O、第八章 程序開發進階、第九章 調試及異常、第十章 正則表達式、第十一章 網絡編程、第十二章 應用實例。
(1)理論+案例:首先以簡練的語言進行理論知識的講解,*后配上豐富而實用的案例。
(2)實用性強。書稿*后一章采用網絡爬蟲、數據處理和web開發3個綜合案例,涵蓋python*為常用的3個方面。
(3)適合零基礎讀者,也適合從事大數據方向研究的讀者使用
徐光俠,女。
教授,教學部主任。
重慶郵電大學軟件學院教師。 研究方向:大數據、軟件工程、算法。
第1章 入門 1
1.1 Python 的發展歷程 1
1.2 為什么使用Python 2
1.3 Python 可以做些什么 4
1.4 Python 的優點 7
1.5 Python 和其他語言的比較 11
1.6 項目開始 14
1.6.1 Python 版本差異 14
1.6.2 項目結構 18
1.6.3 編碼風格與自動檢查 19
1.7 本章小結 21
1.8 本章習題 21
第2章 數據類型 22
2.1 標識符與關鍵字 22
2.2 Integral 類型 23
2.2.1 整數類型 24
2.2.2 布爾型 25
2.3 浮點類型 26
2.3.1 浮點數 26
2.3.2 復數 27
2.3.3 十進制數字 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 字符串的應用 41
2.5 本章小結 42
2.6 本章習題 43
第3章 組合數據類型 44
3.1 列表 45
3.1.1 列表的常用操作 45
3.1.2 列表的常用函數 49
3.2 元組 50
3.2.1 元組與列表的區別 50
3.2.2 元組的常用操作 51
3.2.3 元組的常用函數 53
3.3 字典 53
3.3.1 字典的常用操作 53
3.3.2 字典的常用函數 56
3.4 集合 59
3.4.1 集合的常用操作 59
3.4.2 集合的常用函數 62
3.5 組合數據類型的高級特性 62
3.5.1 切片 62
3.5.2 迭代 64
3.5.3 列表生成式 66
3.5.4 生成器 67
3.5.5 迭代器 73
3.6 本章小結 74
3.7 本章習題 75
第4章 控制語句與函數 76
4.1 控制語句 76
4.1.1 條件分支 76
4.1.2 循環 80
4.2 函數 85
4.2.1 調用函數 86
4.2.2 定義函數 88
4.2.3 函數的參數 90
4.2.4 遞歸函數 97
4.3 本章小結 102
4.4 本章習題 102
第5章 模塊和包 104
5.1 為什么使用模塊 104
5.2 模塊的創建與使用 105
5.2.1 Python 程序架構 105
5.2.2 模塊搜索路徑 108
5.2.3 模塊導入語句 109
5.2.4 模塊命名空間 115
5.2.5 reload 118
5.3 包導入實例 119
5.4 本章小結 121
5.5 本章習題 122
第6章 類和繼承 123
6.1 類和對象 123
6.2 實例屬性和類屬性 126
6.3 類的方法 128
6.4 構造函數 130
6.5 析構函數 131
6.6 運算符的重載 132
6.7 繼承 140
6.8 本章小結 147
6.9 本章習題 147
第7章 文件和I/O 149
7.1 文件基礎知識 149
7.1.1 什么是文件 149
7.1.2 文件的打開或創建 149
7.1.3 字符編碼 151
7.1.4 文件的寫入 152
7.1.5 文件的讀取 155
7.1.6 文件基礎知識的應用 159
7.2 文件操作 164
7.2.1 常用的文件操作函數 164
7.2.2 文件的復制 165
7.2.3 文件的刪除 166
7.2.4 文件的重命名 166
7.2.5 文件的比較 168
7.3 目錄操作 169
7.3.1 目錄的創建 169
7.3.2 目錄的刪除 170
7.3.3 目錄的遍歷 170
7.4 本章小結 173
7.5 本章習題 174
第8章 程序開發進階 175
8.1 面向對象程序設計進階 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 函數式編程 190
8.2.1 高階函數 191
8.2.2 閉包 192
8.2.3 匿名函數 193
8.2.4 修飾器 194
8.2.5 偏函數 196
8.3 多線程編程 197
8.3.1 多線程的編程動機 197
8.3.2 進程和線程 197
8.3.3 線程與Python 198
8.3.4 thread 模塊 199
8.3.5 threading 模塊 199
8.3.6 圖書銷量排名示例 204
8.4 本章小結 205
8.5 本章習題 206
第9章 調試及異常 207
9.1 調試 207
9.1.1 處理錯誤 207
9.1.2 科學的調試 209
9.2 Python 中的異常類 216
9.2.1 什么是異常 216
9.2.2 異常的角色 216
9.2.3 Python 的一些內建異常類 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 關于sys.exc_info 227
9.6.2 使用sys 模塊的例子 227
9.7 本章小結 228
9.8 本章習題 228
第10章 正則表達式 229
10.1 簡介 229
10.2 簡單模式 230
10.2.1 字符匹配 230
10.2.2 重復 231
10.3 使用正則表達式 232
10.3.1 編譯正則表達式 232
10.3.2 反斜杠帶來的麻煩 232
10.3.3 執行匹配 233
10.3.4 模塊級函數 234
10.3.5 編譯標志 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 本章小結 245
10.8 本章習題 245
第11章 網絡編程 248
11.1 網絡編程 248
11.1.1 客戶端/服務器架構 248
11.1.2 套接字 250
11.1.3 Python 中的網絡編程 252
11.1.4 socketserver 模塊 260
11.2 因特網應用層客戶端 262
11.2.1 文件傳輸 262
11.2.2 網絡新聞 266
11.2.3 電子郵件 269
11.3 Python 網絡編程實例 278
11.4 本章小結 280
11.5 本章習題 280
第12章 應用實例 281
12.1 網絡爬蟲 281
12.1.1 基礎知識 281
12.1.2 Urllib 庫 282
12.1.3 Cookie 287
12.1.4 正則表達式 289
12.1.5 實例分析——百度貼吧抓取 295
12.2 數據處理 297
12.2.1 數據處理的基本概念 297
12.2.2 相關類庫的介紹 297
12.2.3 數據處理常用技術 298
12.2.4 Pandas 學習與實戰 309
12.3 基于Django 的Web 開發 313
12.3.1 Django 簡介及安裝 313
12.3.2 Django 安裝 314
12.3.3 第一個Django 項目 316
12.3.4 搭建一個簡易的博客網站 318
12.4 本章小結 348