基本介紹
目錄,內容簡介,
目錄
第1章 Python簡介 1
1.1 Python的歷史 1
1.2 為什麼使用Python 2
1.3 搭建Python 3.8開發環境 2
1.3.1 安裝Python 3.8 2
1.3.2 運行Python 6
1.3.3 選擇Python IDE——IDLE 7
1.3.4 選擇Python IDE——PyCharm 8
1.4 開始編程:第一個Python Hello World 13
1.5 Python語言特性 16
1.5.1 Python的縮進 16
1.5.2 Python的序列 18
1.5.3 對各種編程模式的支持 18
1.5.4 Python的動態性 19
1.5.5 匿名函式、嵌套函式 21
1.5.6 Python自省 21
1.6 Python 3.8的新增功能 21
1.7 本章小結 22
第2章 Python基礎知識 23
2.1 Python的基礎簡介 23
2.1.1 啟動Python解釋器 23
2.1.2 數值類型 24
2.1.3 字元串 25
2.1.4 列表 27
2.1.5 流程控制 29
2.1.6 函式 31
2.2 開始編程:九九乘法表 32
2.2.1 九九乘法表 32
2.2.2 編程思路 32
2.2.3 編程實現 33
2.2.4 運行Python程式 34
2.3 本章小結 36
第3章 Python的內置類型 37
3.1 Python的類型分類 37
3.2 簡單類型 38
3.2.1 布爾類型 39
3.2.2 整數類型 42
3.2.3 浮點數類型 43
3.2.4 複數類型 43
3.2.5 None類型 43
3.3 簡單類型的運算 44
3.4 常量類型 45
3.5 序列類型 46
3.6 列表類型 46
3.6.1 創建list 46
3.6.2 list的元素訪問 47
3.6.3 列表運算 47
3.6.4 列表的方法 50
3.6.5 列表的內置函式 53
3.6.6 列表推導式 54
3.7 元組類型 54
3.8 字元串類型 57
3.9 字典類型 60
3.9.1 字典的創建 60
3.9.2 字典的操作 61
3.10 集合類型 63
3.10.1 集合的創建 63
3.10.2 集合的方法和運算 63
3.11 開始編程:文本統計和比較 64
3.11.1 需求說明 64
3.11.2 需求分析 64
3.11.3 整體思路 64
3.11.4 具體實現 65
3.11.5 文本讀寫 67
3.11.6 命令行參數 67
3.11.7 程式入口 69
3.11.8 運行效果 71
3.12 本章小結 71
第4章 流程控制和函式 73
4.1 流程控制 73
4.1.1 選擇結構 73
4.1.2 for循環結構 75
4.1.3 while循環結構 76
4.2 函式 79
4.2.1 函式的定義 80
4.2.2 函式的參數 80
4.2.3 函式調用和返回 83
4.2.4 lambda函式 84
4.2.5 嵌套函式 86
4.2.6 函式的作用域 86
4.3 開始編程:八皇后算法 87
4.3.1 八皇后問題 87
4.3.2 問題分析 88
4.3.3 程式設計 89
4.3.4 問題深入 91
4.3.5 問題總結 92
4.4 本章小結 94
第5章 類和對象 95
5.1 面向對象 95
5.1.1 面向對象的歷史 95
5.1.2 面向對象概述 95
5.1.3 面向對象小結 97
5.2 Python類和對象 98
5.2.1 類的定義 98
5.2.2 類的實例化 99
5.2.3 類的方法 100
5.2.4 類的特殊方法 102
5.2.5 類的繼承 103
5.2.6 類的關聯和依賴 108
5.2.7 類的聚合和組合 109
5.2.8 類的關係 110
5.3 開始編程:自動列印字元圖案 111
5.3.1 需求分析和設計 111
5.3.2 程式開發 114
5.3.3 程式入口 120
5.4 本章小結 121
第6章 異常捕獲和拋出 122
6.1 異常處理 122
6.1.1 Traceback異常信息 123
6.1.2 捕獲異常 124
6.1.3 多重異常處理 125
6.1.4 異常的參數 129
6.1.5 內置異常類型 130
6.1.6 拋出異常 132
6.1.7 自定義異常類型 134
6.2 開始編程:計算機猜數 135
6.2.1 計算機猜數程式 135
6.2.2 需求分析 136
6.2.3 算法分析 137
6.2.4 編程實現 139
6.2.5 異常處理 141
6.2.6 異常類定義 142
6.2.7 拋出和捕獲異常 143
6.3 本章小結 144
第7章 模組和包 145
7.1 模組 145
7.1.1 Python模組 145
7.1.2 導入模組 146
7.1.3 查找模組 148
7.1.4 模組編譯 149
7.2 包 149
7.2.1 Python包 149
7.2.2 包的導入 150
7.2.3 內嵌包 151
7.3 本章小結 152
第8章 元類和新型類 153
8.1 元類 153
8.1.1 類工廠 153
8.1.2 初識元類 154
8.1.3 設定類的元類屬性 156
8.1.4 元類的魔力 157
8.1.5 面向方面和元類 158
8.1.6 元類的小結 159
8.2 新型類 159
8.2.1 新型類和傳統類的區別 160
8.2.2 類方法和靜態方法 160
8.2.3 新型類的特定方法 162
8.2.4 新型類的特定屬性 164
8.2.5 類的super()方法 165
8.2.6 新型類的小結 167
8.3 本章小結 167
第9章 疊代器、生成器和修飾器 168
9.1 疊代器和生成器 168
9.1.1 疊代器的概念 168
9.1.2 生成器的概念 170
9.1.3 生成器yield語法 171
9.1.4 生成器的用途 175
9.2 修飾器 177
9.2.1 修飾器模式 177
9.2.2 Python修飾器 178
9.2.3 修飾器函式的定義 179
9.2.4 修飾器的套用 180
9.3 本章小結 182
第10章 多執行緒 183
10.1 執行緒的概念 183
10.2 創建多執行緒 184
10.2.1 通過threading.Thread()創建 184
10.2.2 通過繼承threading.Thread類創建 185
10.3 主執行緒 186
10.4 阻塞執行緒 188
10.5 判斷執行緒是否是活動的 189
10.6 執行緒同步 191
10.6.1 同步的概念 191
10.6.2 Python中的鎖 191
10.6.3 Python中的條件鎖 192
10.7 本章小結 196
第11章 檔案與目錄 197
11.1 檔案的處理 197
11.1.1 獲取系統類型 197
11.1.2 獲取系統環境 198
11.1.3 執行系統命令 200
11.1.4 操作目錄及檔案 200
11.2 檔案和目錄的高級處理 206
11.2.1 複製檔案 206
11.2.2 移動檔案 208
11.2.3 讀取壓縮及歸檔壓縮檔案 208
11.2.4 解壓檔案 209
11.3 開始編程:檔案處理實戰 209
11.4 本章小結 212
第12章 正則表達式 213
12.1 正則表達式簡介 213
12.1.1 正則表達式概念 213
12.1.2 正則表達式構成 214
12.2 re模組的簡單套用 215
12.3 常用正則表達式 220
12.3.1 常用數字表達式的校驗 220
12.3.2 常用字元表達式的校驗 221
12.3.3 特殊需求表達式的校驗 223
12.4 本章小結 225
第13章 網路編程 226
13.1 網路編程理論基礎 226
13.1.1 網路協定 226
13.1.2 IP位址與連線埠 228
13.1.3 socket套接字 229
13.2 使用TCP的伺服器與客戶端 235
13.2.1 TCP工作原理 235
13.2.2 TCP伺服器的實現 236
13.2.3 TCP客戶端的實現 238
13.3 使用UDP的伺服器與客戶端 240
13.3.1 UDP工作原理 240
13.3.2 UDP伺服器的實現 240
13.3.3 UDP客戶端的實現 241
13.4 開始編程:網路聊天程式 242
13.5 本章小結 246
第14章 urllib爬蟲 247
14.1 urllib、urllib2、urllib3的不同 247
14.2 urllib3中的request模組 250
14.2.1 對URL的訪問 250
14.2.2 Request類 255
14.2.3 其他類 258
14.3 request引發的異常 259
14.4 解析URL的parse模組 260
14.4.1 URL解析 260
14.4.2 URL轉義 264
14.5 分析robots.txt檔案 267
14.6 本章小結 268
第15章 網頁爬蟲實戰 269
15.1 獲取頁面源碼 269
15.1.1 從網頁獲取數據 269
15.1.2 轉換編碼UTF-8 270
15.1.3 添加關鍵字進行搜尋 271
15.2 過濾數據 272
15.2.1 Beautiful Soup簡介 272
15.2.2 Beautiful Soup的使用 273
15.3 數據保存 274
15.3.1 保存數據到本地文本 274
15.3.2 保存數據到資料庫 275
15.4 本章小結 276
第16章 Scrapy爬蟲 277
16.1 安裝Scrapy 277
16.1.1 在Windows下安裝Scrapy 277
16.1.2 在Linux下安裝Scrapy 279
16.2 Scrapy選擇器XPath和CSS 280
16.2.1 XPath選擇器 280
16.2.2 CSS選擇器 284
16.2.3 其他選擇器 286
16.3 Scrapy爬蟲實戰:今日影視 286
16.3.1 創建Scrapy項目 286
16.3.2 Scrapy檔案介紹 288
16.3.3 選擇爬取的項目 290
16.3.4 定義如何爬取 291
16.3.5 保存爬取的結果 295
16.3.6 分派任務 296
16.4 本章小結 298
內容簡介
隨著人工智慧時代的到來,Python已經成為主流開發語言。本書針對完全零基礎入門的讀者,採用最小化安裝+極簡代碼的教學方式,讓讀者學練結合,達到入門Python與網路爬蟲編程的目的。本書使用PyCharm開發環境,提供源碼與開發環境下載。 本書分為16章,從Python版本的演化、環境的搭建開始,逐步介紹Python 3.8語言的語法基礎,包括內置類型、流程控制、函式、類和對象、異常處理、模組和包、疊代器、裝飾器、多執行緒、檔案和目錄、正則表達式、網路編程、urllib爬蟲、Beautiful Soup爬蟲實戰與Scrapy爬蟲實戰等。 本書概念清晰、內容簡練,是廣大Python與網路爬蟲入門讀者的佳選,同時也非常適合高等院校和培訓學校相關專業的師生教學參考。