Python從小白到大牛(第2版)

Python從小白到大牛(第2版)

《Python從小白到大牛(第2版)》是2021年清華大學出版社出版的一本圖書,作者是關東升。

基本介紹

  • 中文名:Python從小白到大牛(第2版)
  • 作者:關東升
  • 出版時間:2021年
  • 出版社:清華大學出版社
  • ISBN:9787302562474 
  • 定價:99 元 
內容簡介,圖書目錄,

內容簡介

本書是一部系統論述Python程式語言、OOP編程思想以及函式式編程思想的立體化教程(含圖書、教學課件、原始碼與視頻教程)。全書共分為四篇:第一篇Python語言基礎(第1~8章),第二篇Python編程進階(第9 ~17章),第三篇Python常用庫與框架(第18~22章),第四篇Python項目實戰(第23~28章)。主要內容包括:開篇綜述、開發環境搭建、第一個Python程式、Python語法基礎、Python編碼規範、數據類型、運算符、控制語句、數據結構(序列、集合和字典)、函式與函式式編程、面向對象編程、異常處理、常用模組、正則表達式、檔案操作與管理、數據交換格式、資料庫編程、網路編程、wxPython圖形用戶界面編程、Python多執行緒編程、項目實戰1:網路爬蟲技術——爬取搜狐證券股票數據、項目實戰2:數據分析技術——貴州茅台股票數據分析、項目實戰3:數據可視化技術——貴州茅台股票數據可視化、項目實戰4:計算機視覺技術——網站驗證碼識別、項目實戰5:Python Web Flask 框架——PetStore寵物商店項目、項目實戰6:Python綜合技術——QQ聊天工具開發。為便於讀者高效學習,快速掌握Python編程方法,本書提供完整的教學課件、完整的原始碼與豐富的配套視頻教程以及線上答疑服務等內容。本書適合作為Python程式設計者的參考用書。

圖書目錄

推薦序 .................................1
前言 .....................................3
知識圖譜 ..............................4
第一篇 Python 語言基礎
第1 章 開篇綜述 ................. 3
1.1 Python 語言歷史 .................4
1.2 Python 語言設計哲學——Python 之禪 .........................4
1.3 Python 語言特點 .................5
1.4 Python 語言套用前景 ..........6
1.5 如何獲得幫助 .....................7
第2 章 開發環境搭建 .......... 8
2.1 搭建Python 環境.................8
2.2 PyCharm 開發工具 ............ 10
2.2.1 下載和安裝 ............ 11
2.2.2 設定Python 解釋器 ........................................ 12
2.3 文本編輯工具 ................... 14
2.4 本章小結 .......................... 14
2.5 動手實踐 .......................... 14
第3 章 第一個Python 程式 15
3.1 使用Python Shell .............. 15
3.2 使用PyCharm 實現 ........... 17
3.2.1 創建項目 ................ 17
3.2.2 創建Python 代碼檔案 ..................................... 19
3.2.3 編寫代碼 ................ 20
3.2.4 運行程式 ................ 20
3.3 文本編輯工具+Python 解釋器實現 ............................ 21
3.3.1 編寫代碼 ................ 21
3.3.2 運行程式 ................ 21
3.4 代碼解釋 .......................... 22
Python 6 從小白到大牛(第2 版)
3.5 本章小結 .......................... 23
3.6 動手實踐:世界,你好 ..... 23
第4 章 Python 語法基礎 ....24
4.1 標識符和關鍵字 ................ 24
4.1.1 標識符 ................... 24
4.1.2 關鍵字 ................... 24
4.2 變數和常量 ...................... 25
4.2.1 變數 ...................... 25
4.2.2 常量 ...................... 25
4.3 注釋 ................................. 25
4.4 語句 ................................. 26
4.5 模組 ................................. 27
4.6 包 ..................................... 28
4.6.1 創建包 ................... 28
4.6.2 包導入 ................... 29
4.7 本章小結 .......................... 30
4.8 同步練習 .......................... 30
第5 章 Python 編碼規範 ....31
5.1 命名規範 .......................... 31
5.2 注釋規範 .......................... 32
5.2.1 檔案注釋 ................ 32
5.2.2 文檔注釋 ................ 32
5.2.3 代碼注釋 ................ 34
5.2.4 使用TODO 注釋.... 35
5.3 導入規範 .......................... 36
5.4 代碼排版 .......................... 37
5.4.1 空行 ...................... 37
5.4.2 空格 ...................... 38
5.4.3 縮進 ...................... 39
5.4.4 斷行 ...................... 39
5.5 本章小結 .......................... 40
5.6 同步練習 .......................... 40
第6 章 數據類型 ................42
6.1 數字類型 .......................... 42
6.1.1 整數類型 ................ 42
6.1.2 浮點類型 ................ 43
6.1.3 複數類型 ................ 43
6.1.4 布爾類型 ................ 43
目錄7
6.2 數字類型互相轉換 ............ 44
6.2.1 隱式類型轉換 ........ 44
6.2.2 顯式類型轉換 ........ 45
6.3 字元串類型 ...................... 45
6.3.1 字元串表示方式 ..... 45
6.3.2 字元串格式化 ........ 47
6.3.3 字元串查找 ............ 49
6.3.4 字元串與數字互相轉換................................... 50
6.4 本章小結 .......................... 51
6.5 同步練習 .......................... 52
第7 章 運算符 ...................53
7.1 算術運算符 ...................... 53
7.1.1 一元運算符 ............ 53
7.1.2 二元運算符 ............ 53
7.2 關係運算符 ...................... 55
7.3 邏輯運算符 ...................... 56
7.4 位運算符 .......................... 57
7.5 賦值運算符 ...................... 59
7.6 其他運算符 ...................... 61
7.6.1 同一性測試運算符 . 61
7.6.2 成員測試運算符 ..... 62
7.7 運算符優先權 ................... 62
7.8 本章小結 .......................... 63
7.9 同步練習 .......................... 63
第8 章 控制語句 ................64
8.1 分支語句 .......................... 64
8.1.1 if 結構 ................... 64
8.1.2 if-else 結構 ........... 65
8.1.3 elif 結構 ................ 66
8.1.4 三元運算符替代品——條件表達式 ................ 67
8.2 循環語句 .......................... 67
8.2.1 while 語句 .............. 67
8.2.2 for 語句 .................. 68
8.3 跳轉語句 .......................... 69
8.3.1 break 語句 .............. 69
8.3.2 continue 語句 ......... 70
8.3.3 while 和for 中的else 語句.............................. 70
8.4 使用範圍 .......................... 72
Python 8 從小白到大牛(第2 版)
8.5 本章小結 .......................... 72
8.6 同步練習 .......................... 72
8.7 動手實踐:計算水仙花數 . 73
第二篇 Python 編程進階
第9 章 序列 .....................77
9.1 序列概述 .......................... 77
9.1.1 索引操作 ............... 78
9.1.2 序列的加和乘 ........ 78
9.1.3 序列切片 ................ 79
9.2 元組 ................................. 80
9.2.1 創建元組 ................ 80
9.2.2 訪問元組 ................ 81
9.2.3 遍曆元組 ................ 82
9.3 列表 ................................. 82
9.3.1 列表創建 ................ 83
9.3.2 追加元素 ................ 83
9.3.3 插入元素 ................ 84
9.3.4 替換元素 ................ 84
9.3.5 刪除元素 ................ 84
9.3.6 其他常用方法 ........ 85
9.3.7 列表推導式 ............ 86
9.4 本章小結 .......................... 87
9.5 同步練習 .......................... 87
9.6 動手實踐:使用列表推導式 ....................................... 87
第10 章 集合 ...................88
10.1 可變集合 ........................ 88
10.1.1 創建可變集合 .... 88
10.1.2 修改可變集合 .... 89
10.1.3 遍歷集合 ............ 90
10.2 不可變集合 .................... 90
10.3 集合推導式 .................... 91
10.4 本章小結 ........................ 92
10.5 同步練習 ........................ 92
10.6 動手實踐:使用集合推導式 ..................................... 92
第11 章 字典 ....................93
11.1 創建字典 ........................ 93
目錄9
11.1.1 使用大括弧創建字典 .................................. 93
11.1.2 使用dict( ) 函式創建字典 ............................ 94
11.2 修改字典 ........................ 95
11.3 訪問字典 ........................ 96
11.4 遍歷字典 ........................ 96
11.5 字典推導式 ..................... 97
11.6 本章小結 ........................ 98
11.7 同步練習 ........................ 98
11.8 動手實踐:使用字典推導式 ..................................... 98
第12 章 函式與函式式編程 99
12.1 定義函式 ........................ 99
12.2 函式參數 ...................... 100
12.2.1 使用關鍵字參數調用函式 ......................... 100
12.2.2 參數默認值 ...... 100
12.2.3 單星號(*)可變參數 .............................. 101
12.2.4 雙星號(**)可變參數 ............................ 102
12.3 函式返回值 ................... 102
12.3.1 無返回值函式 .. 102
12.3.2 多返回值函式 .. 103
12.4 函式變數作用域 ............ 104
12.5 生成器 .......................... 105
12.6 嵌套函式 ...................... 107
12.7 函式式編程基礎 ............ 108
12.7.1 高階函式與函式類型 ................................ 108
12.7.2 函式作為其他函式返回值使用.................. 109
12.7.3 函式作為其他函式參數使用 ..................... 109
12.7.4 匿名函式與lambda 表達式 ....................... 110
12.8 函式式編程的三大基礎函式 ................................... 111
12.8.1 過濾函式filter( ) ........................................ 111
12.8.2 映射函式map( ) 112
12.8.3 聚合函式reduce( ) ..................................... 112
12.9 裝飾器 .......................... 113
12.9.1 一個沒有使用裝飾器的示例 ..................... 113
12.9.2 使用裝飾器 ...... 114
12.9.3 同時使用多個裝飾器 ................................ 114
12.9.4 給裝飾器傳遞參數 .................................... 115
12.10 本章小結 .................... 116
12.11 同步練習 .................... 116
Python 10 從小白到大牛(第2 版)
12.12 動手實踐:找出素數 ... 117
第13 章 面向對象編程 .....118
13.1 面向對象概述 ................ 118
13.2 面向對象三個基本特性 . 118
13.2.1 封裝性 ............. 118
13.2.2 繼承性 ............. 118
13.2.3 多態性 ............. 119
13.3 類和對象 ...................... 119
13.3.1 定義類 ............. 119
13.3.2 創建和使用對象 ........................................ 119
13.3.3 實例變數 .......... 120
13.3.4 類變數 ............. 121
13.3.5 構造方法 .......... 122
13.3.6 實例方法 .......... 123
13.3.7 類方法 ............. 124
13.3.8 靜態方法 .......... 124
13.4 封裝性 .......................... 125
13.4.1 私有變數 .......... 125
13.4.2 私有方法 .......... 126
13.4.3 定義屬性 .......... 127
13.5 繼承性 .......................... 128
13.5.1 繼承概念 .......... 128
13.5.2 重寫方法 .......... 129
13.5.3 多繼承 ............. 130
13.6 多態性 .......................... 131
13.6.1 多態概念 .......... 131
13.6.2 類型檢查 .......... 132
13.6.3 鴨子類型 .......... 133
13.7 Python 根類——object .. 134
13.7.1 __str__( ) 方法 . 134
13.7.2 對象比較方法 .. 135
13.8 本章小結 ...................... 136
13.9 同步練習 ...................... 136
13.10 動手實踐:設計多繼承騾子類 ............................. 136
第14 章 異常處理 ............137
14.1 一個異常示例 ................ 137
14.2 異常類繼承層次 ............ 138
14.3 常見異常 ...................... 139
目錄11
14.3.1 AttributeError 異常 ................................... 139
14.3.2 OSError 異常 ... 140
14.3.3 IndexError 異常 ........................................ 140
14.3.4 KeyError 異常 .. 141
14.3.5 NameError 異常 ........................................ 141
14.3.6 TypeError 異常 . 141
14.3.7 ValueError 異常 ........................................ 142
14.4 捕獲異常 ...................... 142
14.4.1 try-except 語句 . 142
14.4.2 多個except 代碼塊 ................................... 143
14.4.3 try-except 語句嵌套 .................................. 145
14.4.4 多重異常捕獲 .. 146
14.5 異常堆疊跟蹤 ................ 146
14.6 釋放資源 ...................... 147
14.6.1 finally 代碼塊 .. 148
14.6.2 else 代碼塊 ...... 149
14.6.3 with as 代碼塊自動資源管理 .................... 150
14.7 自定義異常類 ................ 151
14.8 顯式拋出異常 ................ 151
14.9 本章小結 ...................... 152
14.10 同步練習 .................... 152
14.11 動手實踐:釋放資源 ... 152
第15 章 常用模組 ............153
15.1 math 模組 ..................... 153
15.1.1 捨入函式 .......... 153
15.1.2 冪和對數函式 .. 154
15.1.3 三角函式 .......... 154
15.2 random 模組 .................. 155
15.3 datetime 模組 ................ 156
15.3.1 datetime、date 和time 類 ......................... 157
15.3.2 日期時間計算 .. 159
15.3.3 日期時間格式化和解析 ............................. 160
15.3.4 時區 ................. 162
15.4 本章小結 ...................... 163
15.5 同步練習 ...................... 163
15.6 動手實踐:輸入與轉換日期 ................................... 163
第16 章 正則表達式 ........164
16.1 正則表達式中的字元 ..... 164
Python 12 從小白到大牛(第2 版)
16.1.1 元字元 ............. 164
16.1.2 字元轉義 .......... 165
16.1.3 開始與結束字元 ........................................ 165
16.2 字元類 .......................... 166
16.2.1 定義字元類 ...... 166
16.2.2 字元類取反 ...... 167
16.2.3 區間 ................. 167
16.2.4 預定義字元類 .. 168
16.3 量詞.............................. 169
16.3.1 使用量詞 .......... 169
16.3.2 貪婪量詞和懶惰量詞 ................................ 170
16.4 分組.............................. 171
16.4.1 定義分組 .......... 171
16.4.2 命名分組 .......... 172
16.4.3 反向引用分組 .. 172
16.4.4 非捕獲分組 ...... 174
16.5 re 模組中重要函式 ........ 174
16.5.1 search( ) 和match( ) 函式 ........................... 174
16.5.2 findall( ) 和finditer( ) 函式 ......................... 176
16.5.3 字元串分割 ...... 176
16.5.4 字元串替換 ...... 177
16.6 編譯正則表達式 ............ 178
16.6.1 已編譯正則表達式對象 ............................. 178
16.6.2 編譯標誌 .......... 180
16.7 本章小結 ...................... 183
16.8 同步練習 ...................... 183
16.9 動手實踐:找出HTML 中的圖片 .......................... 183
第17 章 檔案操作與管理 ..184
17.1 檔案操作 ...................... 184
17.1.1 打開檔案 .......... 184
17.1.2 關閉檔案 .......... 186
17.1.3 文本檔案讀寫 .. 187
17.1.4 二進制檔案讀寫 ........................................ 187
17.2 os 模組 ......................... 188
17.3 os.path 模組 ................... 189
17.4 本章小結 ...................... 191
17.5 同步練習 ...................... 191
17.6 動手實踐:讀寫日期 ..... 191
目錄13
第三篇 Python 常用庫與框架
第18 章 數據交換格式 .....195
18.1 XML 數據交換格式 ....... 196
18.1.1 XML 文檔結構 196
18.1.2 解析XML 文檔 197
18.1.3 使用XPath ....... 200
18.2 JSON 數據交換格式 ...... 201
18.2.1 JSON 文檔結構 201
18.2.2 JSON 數據編碼 203
18.2.3 JSON 數據解碼 204
18.3 本章小結 ...................... 206
18.4 同步練習 ...................... 206
18.5 動手實踐:解析結構化文檔 ................................... 206
第19 章 資料庫編程 ........207
19.1 數據持久化技術概述 ..... 207
19.2 MySQL 資料庫管理系統 ........................................ 207
19.2.1 資料庫安裝和配置 .................................... 208
19.2.2 登錄伺服器 ...... 212
19.2.3 常見的管理命令 ........................................ 213
19.3 Python DB-API .............. 216
19.3.1 建立資料庫連線 ........................................ 217
19.3.2 創建游標 .......... 218
19.4 實例:User 表CRUD 操作 ..................................... 218
19.4.1 安裝PyMySQL 庫 .................................... 218
19.4.2 資料庫編程一般過程 ................................ 219
19.4.3 數據查詢操作 .. 220
19.4.4 數據修改操作 .. 222
19.5 NoSQL 數據存儲 ........... 225
19.5.1 dbm 資料庫的打開和關閉 ......................... 225
19.5.2 dbm 數據存儲 .. 226
19.6 本章小結 ...................... 227
19.7 同步練習 ...................... 227
19.8 動手實踐:從結構化文檔遷移數據到資料庫 ......... 227
第20 章 網路編程 ............228
20.1 網路基礎 ...................... 228
20.1.1 網路結構 .......... 228
20.1.2 TCP/IP ............. 229
Python 14 從小白到大牛(第2 版)
20.1.3 IP 地址 ............. 229
20.1.4 連線埠 ................. 230
20.2 TCP Socket 低層次網路編程 .................................. 230
20.2.1 TCP Socket 通信概述 ................................ 230
20.2.2 TCP Socket 通信過程 ................................ 230
20.2.3 TCP Socket 編程API ................................ 231
20.2.4 實例:簡單聊天工具 ................................ 232
20.2.5 實例:檔案上傳工具 ................................ 233
20.3 UDP Socket 低層次網路編程.................................. 235
20.3.1 UDP Socket 編程API ............................... 235
20.3.2 實例:簡單聊天工具 ................................ 236
20.3.3 實例:文本檔案上傳工具 ......................... 237
20.4 訪問網際網路資源 ............ 238
20.4.1 URL 概念 ........ 238
20.4.2 HTTP/HTTPS .. 239
20.4.3 搭建自己的Web 伺服器 ........................... 239
20.4.4 使用urllib 庫 ... 243
20.4.5 傳送GET 請求 . 243
20.4.6 傳送POST 請求 ........................................ 244
20.4.7 實例:圖片下載器 .................................... 245
20.5 本章小結 ...................... 245
20.6 同步練習 ...................... 245
20.7 動手實踐:解析來自Web 的結構化數據 ............... 246
第21 章 wxPython 圖形用戶界面編程 ........................247
21.1 Python 圖形用戶界面開發工具包 ........................... 247
21.2 wxPython 安裝 .............. 247
21.3 wxPython 基礎 .............. 248
21.3.1 wxPython 類層次結構 ............................... 248
21.3.2 第一個wxPython 程式 .............................. 248
21.3.3 wxPython 界面構建層次結構 .................... 252
21.3.4 界面設計工具 .. 252
21.4 事件處理 ...................... 254
21.4.1 一對一事件處理 ........................................ 254
21.4.2 一對多事件處理 ........................................ 255
21.5 布局管理 ...................... 257
21.5.1 不要使用絕對布局 .................................... 257
21.5.2 Sizer 布局管理器 ...................................... 257
21.5.3 Box 布局器 ...... 258
21.5.4 StaticBox 布局 . 260
目錄15
21.5.5 Grid 布局 ......... 261
21.5.6 FlexGrid 布局 .. 263
21.6 wxPython 基本控制項 ....... 264
21.6.1 靜態文本和按鈕 ........................................ 265
21.6.2 文本輸入控制項 .. 266
21.6.3 複選框 ............. 267
21.6.4 單選按鈕 .......... 268
21.6.5 下拉列表 .......... 269
21.6.6 列表 ................. 271
21.6.7 靜態圖片控制項 .. 272
21.7 實例:圖書信息格線 ..... 274
21.8 本章小結 ...................... 276
21.9 同步練習 ...................... 276
21.10 動手實踐:展示Web 數據 ................................... 276
第22 章 Python 多執行緒編程 ......................................277
22.1 基礎知識 ...................... 277
22.1.1 進程 ................. 277
22.1.2 執行緒 ................. 278
22.2 使用threading 模組 ....... 278
22.3 創建執行緒 ...................... 279
22.3.1 自定義函式作為執行緒體 ............................. 279
22.3.2 繼承Thread 執行緒類實現執行緒體 ................ 281
22.4 執行緒管理 ...................... 282
22.4.1 等待執行緒結束 .. 282
22.4.2 執行緒停止 .......... 283
22.5 執行緒安全 ...................... 284
22.5.1 臨界資源問題 .. 285
22.5.2 多執行緒同步 ...... 287
22.6 執行緒間通信 ................... 288
22.6.1 使用Condition 實現執行緒間通信 ............... 288
22.6.2 使用Event 實現執行緒間通信 ...................... 292
22.7 本章小結 ...................... 293
22.8 同步練習 ...................... 293
22.9 動手實踐:網路爬蟲 ..... 293
第四篇 Python 項目實戰
第23 章 項目實戰1:網路爬蟲技術——爬取搜狐證券股票數據 ......................................................297
23.1 網路爬蟲技術概述 ........ 297
Python 16 從小白到大牛(第2 版)
23.1.1 網路通信技術 .. 297
23.1.2 多執行緒技術 ...... 297
23.1.3 數據交換技術 .. 298
23.1.4 Web 前端技術 .. 298
23.1.5 數據解析技術 .. 299
23.1.6 數據存儲技術 .. 300
23.2 爬取數據 ...................... 300
23.2.1 網頁中靜態和動態數據 ............................. 300
23.2.2 使用urllib 爬取數據 ................................. 301
23.2.3 使用Selenium 爬取數據 ........................... 304
23.3 解析數據 ...................... 307
23.3.1 使用正則表達式 ........................................ 307
23.3.2 使用BeautifulSoup 庫 .............................. 309
23.4 項目實戰:爬取搜狐網股票數據 ........................... 312
23.4.1 爬取並解析數據 ........................................ 312
23.4.2 檢測數據是否更新 .................................... 314
23.4.3 保存數據到資料庫 .................................... 315
23.4.4 爬蟲工作計畫任務 .................................... 318
第24 章 項目實戰2:數據分析技術——貴州茅台股票數據分析 ......................................................321
24.1 數據分析過程 ................ 321
24.1.1 數據收集 .......... 321
24.1.2 數據存儲 .......... 321
24.1.3 數據清洗 .......... 322
24.1.4 數據分析 .......... 322
24.1.5 數據可視化 ...... 322
24.2 數據分析工具環境搭建和使用 ............................... 322
24.2.1 安裝Jupyter ..... 322
24.2.2 使用IPython Shell .................................... 323
24.2.3 使用Jupyter Notebook .............................. 324
24.3 數據分析與科學計算基礎庫——NumPy ................ 327
24.3.1 NumPy 庫安裝 . 327
24.3.2 NumPy 中的多維數組對象 ........................ 327
24.3.3 NumPy 數組的數據類型 ........................... 328
24.3.4 數組的屬性 ...... 328
24.3.5 數組的軸 .......... 329
24.3.6 訪問一維數組中的元素 ............................. 330
24.3.7 訪問二維數組中的元素 ............................. 330
24.4 數據分析必備庫——pandas ................................... 331
24.4.1 pandas 庫安裝 .. 332
目錄17
24.4.2 Series 數據結構 ........................................ 332
24.4.3 DataFrame 數據結構 ................................. 333
24.5 項目實戰:貴州茅台股票數據分析 ........................ 335
24.5.1 從資料庫中讀取股票歷史數據.................. 335
24.5.2 獲得特定時間段股票交易數據.................. 336
24.5.3 查詢時間段內最大成交量 ......................... 337
24.5.4 查詢時間段內總成交量 ............................. 337
24.5.5 按照成交金額排序 .................................... 338
第25 章 項目實戰3:數據可視化技術——貴州茅台股票數據可視化 ...............................................339
25.1 使用Matplotlib 繪製圖表 ....................................... 339
25.1.1 安裝Matplotlib 339
25.1.2 圖表基本構成要素 .................................... 339
25.1.3 繪製折線圖 ...... 340
25.1.4 繪製柱狀圖 ...... 341
25.1.5 繪製餅狀圖 ...... 342
25.1.6 繪製散點圖 ...... 343
25.1.7 繪製子圖表 ...... 344
25.2 項目實戰:貴州茅台股票數據可視化 .................... 346
25.2.1 從資料庫讀取股票數據 ............................. 346
25.2.2 繪製股票成交量折線圖 ............................. 347
25.2.3 繪製股票OHLC 圖 ................................... 348
25.2.4 繪製股票K 線圖 ....................................... 349
第26 章 項目實戰4:計算機視覺技術——網站驗證碼識別 ............................................................352
26.1 人工智慧 ...................... 352
26.2 計算機視覺 ................... 352
26.2.1 計算機視覺的Python 語言相關庫 ............ 353
26.2.2 色彩空間 .......... 353
26.3 使用OpenCV 庫 ............ 353
26.3.1 安裝OpenCV 庫 ....................................... 353
26.3.2 讀取和顯示圖像 ........................................ 353
26.3.3 調整圖像大小 .. 354
26.3.4 圖像旋轉 .......... 355
26.3.5 繪製幾何圖形 .. 356
26.3.6 圖像的灰度化 .. 357
26.3.7 圖像的二值化與閾值 ................................ 358
26.3.8 人臉檢測 .......... 360
26.4 項目實戰:網站驗證碼識別 ................................... 361
26.4.1 驗證碼 ............. 361
Python 18 從小白到大牛(第2 版)
26.4.2 驗證碼識別 ...... 361
26.4.3 安裝OCR 引擎Tesseract .......................... 361
26.4.4 安裝pytesseract 庫 ................................... 361
26.4.5 安裝pillow 庫 .. 362
26.4.6 驗證碼識別代碼實現 ................................ 363
第27 章 項目實戰5:Python Web Flask 框架——PetStore 寵物商店項目 .....................................365
27.1 Web 應用程式概述 ........ 365
27.1.1 HTTP/HTTPS .. 365
27.1.2 B/S 網路架構 ... 365
27.1.3 Web 前端技術 .. 366
27.2 Flask 框架介紹 .............. 366
27.3 編寫Flask 程式 ............. 366
27.3.1 安裝Flask ........ 366
27.3.2 第一個Flask 程式 ..................................... 366
27.3.3 路由 ................. 368
27.4 Jinja2 模板 ................... 371
27.4.1 沒有使用模板 .. 371
27.4.2 使用模板 .......... 372
27.4.3 模板中使用表達式 .................................... 373
27.4.4 模板中使用語句 ........................................ 374
27.4.5 模板中訪問靜態檔案 ................................ 377
27.5 處理HTTP 操作 ............ 378
27.5.1 使用request 請求對象 .............................. 378
27.5.2 使用response 回響對象 ............................ 381
27.5.3 使用session 對象 ...................................... 382
27.6 PetStore 寵物商店項目——需求與設計 ................. 383
27.6.1 項目概述 .......... 383
27.6.2 需求分析 .......... 383
27.6.3 原型設計 .......... 384
27.6.4 資料庫設計 ...... 384
27.6.5 架構設計 .......... 386
27.6.6 系統設計 .......... 387
27.7 PetStore 寵物商店項目——創建資料庫 ................. 388
27.7.1 安裝和配置MySQL 資料庫 ...................... 388
27.7.2 編寫資料庫DDL 腳本 .............................. 388
27.7.3 插入初始數據到資料庫 ............................. 389
27.8 PetStore 寵物商店項目——創建項目 ..................... 390
27.8.1 創建項目 .......... 390
27.8.2 項目包結構 ...... 390
目錄19
27.8.3 項目配置檔案 .. 391
27.9 PetStore 寵物商店項目——數據持久層 .................. 391
27.9.1 編寫DAO 基類 391
27.9.2 用戶管理DAO . 392
27.9.3 商品管理DAO . 393
27.9.4 訂單管理DAO . 395
27.9.5 訂單明細管理DAO .................................. 396
27.10 PetStore 寵物商店項目——表示層 ....................... 397
27.10.1 啟動模組實現 397
27.10.2 登錄頁面實現 398
27.10.3 商品列表 ........ 400
27.10.4 添加商品到購物車 .................................. 403
27.10.5 查看購物車 .... 404
27.10.6 提交訂單 ........ 407
第28 章 項目實戰6:Python 綜合技術——QQ 聊天工具開發 .........................................................410
28.1 系統分析與設計 ............ 410
28.1.1 項目概述 .......... 410
28.1.2 需求分析 .......... 410
28.1.3 原型設計 .......... 411
28.1.4 資料庫設計 ...... 412
28.1.5 網路拓撲圖 ...... 414
28.1.6 系統設計 .......... 414
28.2 任務1:創建伺服器端資料庫 ................................ 415
28.2.1 疊代1.1:安裝和配置MySQL 資料庫 ..... 415
28.2.2 疊代1.2:編寫資料庫DDL 腳本 ............. 415
28.2.3 疊代1.3:插入初始數據到資料庫 ............ 416
28.3 任務2:創建項目 ......... 416
28.3.1 疊代2.1:創建QQ 客戶端項目 ................ 416
28.3.2 疊代2.2:QQ 客戶端項目中添加資源圖片 ................................................................. 417
28.3.3 疊代2.3:QQ 客戶端項目中添加包 ......... 417
28.3.4 疊代2.4:創建QQ 伺服器項目 ................ 418
28.3.5 疊代2.5:QQ 伺服器項目中添加包 ......... 418
28.4 任務3:伺服器項目數據持久層 ............................ 418
28.4.1 疊代3.1:伺服器端配置檔案 ................... 418
28.4.2 疊代3.2:編寫base_dao 模組 .................. 419
28.4.3 疊代3.3:編寫用戶管理DAO 類 ............. 419
28.5 任務4:QQ 客戶端項目UI 實現 ........................... 421
28.5.1 疊代4.1:客戶端配置檔案 ....................... 421
28.5.2 疊代4.2:編寫my_frame 模組 ................ 421
Python 20 從小白到大牛(第2 版)
28.5.3 疊代4.3:登錄視窗實現 .......................... 423
28.5.4 疊代4.4:好友列表視窗實現 ................... 425
28.5.5 疊代4.5:聊天視窗實現 ........................... 428
28.6 任務5:用戶登錄過程實現 .................................... 430
28.6.1 疊代5.1:QQ 客戶端啟動 ........................ 431
28.6.2 疊代5.2:客戶端登錄過程實現................ 432
28.6.3 疊代5.3:QQ 伺服器端啟動 .................... 434
28.6.4 疊代5.4:登錄過程的伺服器端驗證 ........ 435
28.7 任務6:刷新好友列表 .. 437
28.7.1 疊代6.1:伺服器端刷新好友列表 ............ 437
28.7.2 疊代6.2:客戶端刷新好友列表................ 439
28.8 任務7:聊天過程實現 .. 441
28.8.1 疊代7.1:客戶端用戶1 向伺服器傳送訊息 ................................................................ 442
28.8.2 疊代7.2:伺服器端接收用戶1 訊息與轉發給用戶3 訊息 .......................................... 443
28.8.3 疊代7.3:客戶端用戶3 接收用戶1 訊息 . 444
28.9 任務8:用戶下線 ......... 445
28.9.1 疊代8.1:客戶端實現 .............................. 446
28.9.2 疊代8.2:伺服器端實現 ........................... 447

相關詞條

熱門詞條

聯絡我們