定 價:¥59.00
作 者: | 王啟明,羅從良 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302509301 | 出版時間: | 2018-08-01 | 包裝: | |
開本: | 頁數: | 字數: |
第1章 搭建Python開發(fā)環(huán)境 1
1.1 Python的版本說明 1
1.2 Python的安裝 2
1.2.1 Windows下安裝Python 2
1.2.2 Linux下安裝Python 6
1.3 打開Python的方式 8
1.4 交互模式解釋器 9
1.5 第一個Python程序Hello World 10
1.5.1 交互式 10
1.5.2 腳本式 10
1.6 Python開發(fā)工具 11
1.6.1 Python自帶集成開發(fā)環(huán)境IDEL 11
1.6.2 安裝PyCharm集成開發(fā)環(huán)境 14
1.6.3 使用PyCharm集成開發(fā)環(huán)境 21
1.7 注意Python的縮進 22
第2章 Python中的數據與結構 24
2.1 Python中的標準數據類型 24
2.2 變量 25
2.3 數字 26
2.3.1 使用整型 26
2.3.2 使用浮點型 27
2.3.3 使用布爾型 28
2.3.4 使用復數型 29
2.4 字符串 29
2.4.1 字符串的單引號、雙引號、三引號 29
2.4.2 字符串的截取 30
2.4.3 字符串的拼接 31
2.4.4 字符串的各種常用運算符 32
2.4.5 字符串的轉義 33
2.4.6 字符串的格式化符號 34
2.4.7 字符串的內置函數 37
2.5 列表 39
2.5.1 使用列表 39
2.5.2 訪問列表 40
2.5.3 列表常用的內置函數 41
2.5.4 列表排序 43
2.5.5 刪除列表 44
2.5.6 獲取列表中的最大值和最小值 45
2.5.7 列表常用運算符 45
2.6 元組 46
2.6.1 使用元組 46
2.6.2 訪問元組 47
2.6.3 元組常用的內置函數 47
2.6.4 刪除元組 48
2.6.5 獲取元組中的最大值和最小值 48
2.6.6 元組常用運算符 48
2.6.7 元組與列表的轉換 49
2.7 字典 49
2.7.1 使用字典 49
2.7.2 訪問字典 50
2.7.3 字典常用的內置函數 50
2.7.4 刪除字典 52
2.7.5 字典常用運算符 53
2.8 集合 53
2.8.1 使用集合 54
2.8.2 集合常用的內置函數 54
2.8.3 集合常用運算符(交集、并集、差集、對稱差集) 56
2.9 推導式 57
2.9.1 初識推導 57
2.9.2 嵌套推導 58
2.10 數據結構實戰(zhàn):文本統(tǒng)計分析 59
2.10.1 文本統(tǒng)計功能 59
2.10.2 文本比較功能 60
第3章 結構語句 62
3.1 順序、選擇和循環(huán) 62
3.1.1 順序結構 62
3.1.2 選擇結構 63
3.1.3 循環(huán)結構 64
3.2 用if選擇 64
3.2.1 選擇語句格式 65
3.2.2 選擇語句詳解 66
3.2.3 選擇語句的嵌套 66
3.3 用while循環(huán) 67
3.3.1 while語句基本格式 67
3.3.2 while語句的應用 68
3.3.3 無限循環(huán)(死循環(huán)) 69
3.3.4 帶else的while循環(huán) 70
3.4 用for循環(huán) 71
3.4.1 for語句基本格式 71
3.4.2 for語句的應用 71
3.4.3 for與range結合遍歷數字序列 72
3.5 中斷語句break、continue 73
3.5.1 break語句 73
3.5.2 continue語句 74
3.6 循環(huán)實戰(zhàn):九九乘法表 75
第4章 函數 77
4.1 使用函數 77
4.1.1 定義函數 77
4.1.2 函數的返回值 78
4.1.3 函數的嵌套 78
4.2 函數的參數 79
4.2.1 形參、實參 79
4.2.2 必要參數 79
4.2.3 有默認值的參數 80
4.2.4 關鍵字參數 81
4.2.5 不定長參數(可變參數) 82
4.2.6 各種參數組合 83
4.3 全局變量、局部變量 83
4.3.1 全局和局部的概念 83
4.3.2 函數中局部變量的作用域 84
4.3.3 global全局變量 84
4.4 匿名函數 85
4.4.1 使用匿名函數 85
4.4.2 匿名函數的參數默認值 86
4.5 函數實戰(zhàn):八皇后問題 86
第5章 面向對象編程 92
5.1 面向對象基礎 92
5.2 定義與使用類 93
5.2.1 類的定義 93
5.2.2 類的構造方法和析構方法 94
5.2.3 類的私有屬性 95
5.2.4 類的私有方法 96
5.2.5 一個完整的類 96
5.3 類與類的關系 97
5.3.1 單繼承 98
5.3.2 多繼承 99
5.3.3 類的關聯和依賴 99
5.3.4 類的聚合和復合 101
5.4 重寫 102
5.5 魔術方法 102
5.5.1 魔術方法的概念 102
5.5.2 魔術方法的應用 103
5.6 迭代器 106
5.7 生成器 107
5.7.1 生成器的概念 107
5.7.2 生成器的應用 107
5.8 裝飾器 108
5.8.1 裝飾器基礎 108
5.8.2 不帶參數的裝飾器 109
5.8.3 帶參數的裝飾器 110
5.8.4 多個裝飾器裝飾一個函數 111
5.9 上下文管理器與with語句 112
5.9.1 上下文管理器的幾個概念 112
5.9.2 上下文管理器的應用 113
5.9.3 自定義上下文管理器 113
5.10 面向對象實戰(zhàn):數字圖形 114
5.10.1 需求分析 114
5.10.2 程序開發(fā) 118
5.10.3 程序入口 123
第6章 程序異常與調試 124
6.1 識別異常 124
6.1.1 異常的概念 124
6.1.2 語法引出的異常 125
6.1.3 運行時引出的異常 125
6.1.4 分析異常提示信息 125
6.2 Python中處理異常的語法 126
6.3 處理異常的細節(jié) 127
6.3.1 except語句的多種形式 127
6.3.2 拋出異常(引發(fā)異常)raise 130
6.4 自定義異常 130
6.5 調試程序 131
6.5.1 IDLE的簡單調試 131
6.5.2 利用日志模塊logging調試 132
6.5.3 利用pdb調試 133
6.6 異常實戰(zhàn):計算機猜數 135
6.6.1 需求分析 135
6.6.2 算法分析 136
6.6.3 編程實現 138
6.6.4 異常處理 141
6.6.5 異常類定義 141
6.6.6 拋出和捕獲異常 142
第7章 多線程 145
7.1 線程的概念 145
7.2 創(chuàng)建多線程 146
7.2.1 通過threading.Thread()創(chuàng)建線程 146
7.2.2 通過繼承threading.Thread類創(chuàng)建線程 147
7.3 主 線 程 148
7.4 阻塞線程 149
7.5 判斷線程是否是活動的 150
7.6 線程同步 152
7.6.1 同步的概念 152
7.6.2 Python中的鎖 153
7.6.3 Python中的條件鎖 153
第8章 模塊和包 157
8.1 模塊 157
8.1.1 標準庫中的模塊 157
8.1.2 查看模塊的代碼 158
8.2 導入模塊 160
8.2.1 最簡單的導入 160
8.2.2 from…import語句 161
8.2.3 from…import *語句 162
8.2.4 導入自定義的模塊 162
8.3 包 163
8.3.1 包和模塊的區(qū)別 163
8.3.2 包的結構 164
8.3.3 導入自定義的包 164
8.4 命名空間 165
8.4.1 命名空間 166
8.4.2 全局命名空間 167
8.4.3 局部命名空間 168
8.4.4 命名空間和類 169
8.4.5 命名空間和類的實例化 170
8.4.6 命名空間和類的繼承 172
第9章 Tkinter模塊——圖形界面編程 174
9.1 Tkinter模塊 174
9.1.1 Tkinter模塊的Hello World 程序 175
9.1.2 tkinter包介紹 177
9.1.3 主窗口 178
9.2 Tkinter控件 179
9.2.1 控件的介紹 179
9.2.2 控件的特性 181
9.2.3 Tkinter幾何管理器 182
9.2.4 Tkinter 事件及回調 185
9.3 Tkinter實戰(zhàn) 186
9.3.1 創(chuàng)建主窗口 186
9.3.2 添加菜單欄及菜單選項 186
9.3.3 添加下拉菜單 188
9.3.4 實現簡單記事本 190
第10章 re模塊——正則表達式 193
10.1 正則表達式簡介 193
10.1.1 正則表達式概念 193
10.1.2 正則表達式構成 194
10.2 re模塊的簡單應用 196
10.3 常用正則表達式 199
10.3.1 常用數字表達式的校驗 200
10.3.2 常用字符表達式的校驗 202
10.3.3 特殊需求表達式的校驗 203
第11章 os模塊與shutil模塊——文件處理 206
11.1 os模塊 206
11.1.1 獲取系統(tǒng)類型 206
11.1.2 獲取系統(tǒng)環(huán)境 207
11.1.3 執(zhí)行系統(tǒng)命令 208
11.1.4 操作目錄及文件 209
11.2 shutil模塊 214
11.2.1 復制文件 214
11.2.2 移動文件 216
11.2.3 讀取壓縮及歸檔壓縮文件 216
11.2.4 解壓文件 217
11.3 文件處理實戰(zhàn) 217
第12章 PIL(Pillow)模塊——圖像實戰(zhàn) 220
12.1 Pillow庫簡介與安裝 220
12.1.1 Pillow庫的介紹 221
12.1.2 Pillow庫的安裝 221
12.2 Image類的使用 222
12.2.1 Image類的屬性 222
12.2.2 Image類的函數 223
12.3 圖像的基本合成 231
12.3.1 調用Image.composite接口 231
12.3.2 調用Image.blend接口 232
12.3.3 調用Image.paste接口 232
12.4 圖像的變換 233
12.4.1 圖像格式及尺寸變換 233
12.4.2 圖像通道變換 234
12.4.3 圖像幾何變換 235
12.4.4 圖像變換成OpenCV格式 235
12.5 圖像處理實戰(zhàn) 236
第13章 socket模塊——網絡編程 237
13.1 網絡編程基礎 237
13.1.1 網絡協議 237
13.1.2 IP地址與端口 239
13.1.3 socket 240
13.2 使用TCP的服務器與客戶端 246
13.2.1 TCP工作原理 246
13.2.2 TCP服務器的實現 247
13.2.3 TCP客戶端的實現 248
13.3 使用UDP的服務器與客戶端 250
13.3.1 UDP工作原理 251
13.3.2 UDP服務器的實現 251
13.3.3 UDP客戶端的實現 252
13.4 網絡編程實戰(zhàn) 253
第14章 urllib工具包——網絡爬蟲編程 257
14.1 urllib、urllib2與urllib3的異同 257
14.2 request模塊 259
14.2.1 urlopen()、build_opener()和build_opener()方法 260
14.2.2 Request類 263
14.2.3 其他類 266
14.3 error模塊 267
14.4 parse模塊 268
14.4.1 URL解析 268
14.4.2 URL轉義 271
14.5 robotparser模塊 274
14.6 urllib網絡爬蟲實戰(zhàn) 275
第15章 Python數據庫編程實戰(zhàn) 278
15.1 操作SQLite 278
15.1.1 創(chuàng)建SQLite數據庫 278
15.1.2 創(chuàng)建SQLite數據表 279
15.1.3 為數據表添加數據 280
15.1.4 查詢數據 280
15.1.5 更新數據 281
15.1.6 刪除數據 281
15.1.7 connect和cursor的各種函數 281
15.2 操作MySQL 282
15.2.1 安裝PyMySQL庫 282
15.2.2 連接MySQL數據庫 283
15.2.3 增、刪、查、改數據 284
15.3 使用ORM框架SQLAlchemy操作MySQL 284
15.3.1 ORM的意義 285
15.3.2 安裝SQLAlchemy 285
15.3.3 導入SQLAlchemy 286
15.3.4 使用SQLAlchemy操作數據庫 286
第16章 Scrapy爬蟲實戰(zhàn) 288
16.1 安裝Scrapy 288
16.1.1 Windows下安裝Scrapy環(huán)境 288
16.1.2 Linux下安裝Scrapy 289
16.1.3 vim編輯器 290
16.2 Scrapy選擇器XPath和CSS 291
16.2.1 XPath選擇器 291
16.2.2 CSS選擇器 294
16.2.3 其他選擇器 295
16.3 天氣預報項目 296
16.3.1 項目準備 296
16.3.2 創(chuàng)建編輯Scrapy爬蟲 297
16.3.3 數據存儲到json 303
16.3.4 數據存儲到MySQL 305