內容提要
在正式學習之前,首先要和讀者朋友探討一下編程是什麼,尤其是對於一些剛接觸這個領域的讀者來說,編程似乎十分抽象,簡單地說,就是對計算機下達指令,讓計算機能夠根據編程人員的命令進行工作。想想就讓人興奮,計算機上五花八門的遊戲、有趣有料的程式都可以依託編程手段實現,掌握了編程的方法我們就能叩開計算機世界的大門,創造一個屬於自己的“世界”。
人與人交往用人類的語言,而人與計算機互動就需要用到計算機語言。與人類語言相比,計算機語言簡單多了,只認“二進制”的操作指令。但是這種指令很難被大多數人學習和使用,因此,人們就發明了程式語言,通過這些語言和計算機進行溝通。而Python 就是眾多程式語言中的一種,深受編程人員的喜好和追捧。
作業系統:Windows 7、Windows 8、Windows 10 或者Ubuntu。
Python 版本:3.7.0。
開發工具:PyCharm 2018.2。
開發模組:pygame、PyQt5、matplotlib、BeautifulSoup、pymysql、urllib、urllib.request、bs4、PIL。
Flask版本:0.12.2。
API 接口:百度API 接口
MySQL 圖形化管理軟體:Navicat for MySQL。
瀏覽器:Google Chrome 瀏覽器。。
書籍目錄
第1 章踏上Python 之旅.......................2
1.1 Python概述............................................................. 2
·1.1.1 Python簡介................................................. 2
·1.1.2 Python的版本............................................. 2
·1.1.3 Python的套用領域...................................... 3
1.2 搭建Python開發環境............................................... 3
·1.2.1 安裝Python ................................................. 3
·1.2.2 解決提示“'python'不是內部或外部命令……”.... 7
1.3 使用IDLE編寫“hello world”................................. 9
1.4 實戰任務................................................................11
·任務1:輸出“Go Big Or Go Home”.................11
·任務2:輸出“星星之火,可以燎原”................ 12
·任務3:模擬輸出用戶登錄輸入視窗................... 12
第2 章熟悉PyCharm 開發環境..........13
2.1 PyCharm下載與安裝............................................. 13
·2.1.1 PyCharm下載........................................... 13
·2.1.2 PyCharm安裝........................................... 15
2.2 測試PyCharm開發環境......................................... 16
·2.2.1 運行PyCharm ........................................... 16
·2.2.2 創建工程目錄............................................ 17
·2.2.3 編寫“hello world”程式........................... 19
2.3 PyCharm常用操作................................................ 22
·2.3.1 在同一個工程下創建多個程式檔案........... 22
·2.3.2 運行程式的多種方法................................. 23
·2.3.3 保存程式................................................... 23
·2.3.4 關閉程式或工程........................................ 23
·2.3.5 刪除程式................................................... 24
·2.3.6 打開最近的程式檔案................................. 24
·2.3.7 調試斷點................................................... 24
2.4 熟悉PyCharm開發環境......................................... 28
2.5 PyCharm開發環境配置......................................... 32
·2.5.1 作者信息等設定........................................ 32
·2.5.2 設定Python解析器.................................... 34
·2.5.3 設定開發環境字型..................................... 34
2.6 實戰任務............................................................... 35
·任務1:輸出“eat our own dog food”.............. 35
·任務2:輸出大商電器商品倉庫標籤................... 35
·任務3:輸出超市購物小票.................................. 35
·任務4:輸出字元畫——史努比........................... 36
第3 章Python 輸入與輸出...................37
3.1 基本輸入和輸出.................................................... 37
·3.1.1 使用print()函式輸出.................................. 37
·3.1.2 使用input()函式輸入................................. 40
3.2 注釋.................................................................. 41
·3.2.1 單行注釋................................................... 41
·3.2.2 多行注釋................................................... 42
·3.2.3 中文編碼聲明注釋.................................... 43
3.3 代碼縮進............................................................... 43
3.4 編碼規範............................................................... 45
3.5 命名規範............................................................... 46
3.6 實戰任務............................................................... 47
·任務1:輸出人類發展經歷的各個時代................ 47
·任務2:輸出嚮往的生活場景.............................. 47
·任務3:輸出字母、數字或符號的ASCII狀態值... 47
·任務4:用ASCII碼輸出賈伯斯名言..................... 48
第4 章變數與基本數據類型................49
4.1 保留字與標識符.................................................... 49
·4.1.1 保留字....................................................... 49
·4.1.2 標識符....................................................... 51
4.2 變數.................................................................. 52
·4.2.1 理解Python中的變數................................. 52
·4.2.2 變數的定義與使用..................................... 52
4.3 基本數據類型........................................................ 53
·4.3.1 數字類型................................................... 54
·4.3.2 字元串類型............................................... 56
·4.3.3 布爾類型................................................... 58
·4.3.4 數據類型轉換............................................ 58
4.4 實戰任務............................................................... 60
·任務1:計算愛國者飛彈的總數量....................... 60
·任務2:大聲說出你的愛..................................... 61
·任務3:愛的密碼................................................ 61
第5 章運算符..................................63
5.1 算術運算符............................................................ 63
5.2 賦值運算符............................................................ 66
5.3 比較(關係)運算符............................................. 68
5.4 邏輯運算符............................................................ 69
5.5 位運算符............................................................... 70
5.6 運算符的優先權.................................................... 73
5.7 實戰任務............................................................... 73
·任務1:破譯爬蟲項目實踐活動的日期密碼......... 73
·任務2:實現連加計算......................................... 74
·任務3:計算並輸出人工智慧時代可連線設備的數量...... 74
第6 章列表和元組...............................75
6.1 序列.................................................................. 75
·6.1.1 索引.......................................................... 75
·6.1.2 切片.......................................................... 76
·6.1.3 序列相加................................................... 77
·6.1.4 乘法(Multiplying).................................. 78
·6.1.5 檢查某個元素是否是序列的成員(元素).......... 78
·6.1.6 計算序列的長度、最大值和最小值........... 79
6.2 列表.................................................................. 80
·6.2.1 列表的創建和刪除..................................... 80
·6.2.2 訪問列表元素............................................ 82
·6.2.3 遍歷列表................................................... 82
·6.2.4 添加、修改和刪除列表元素...................... 84
·6.2.5 對列表進行統計計算................................. 86
·6.2.6 對列表進行排序........................................ 88
·6.2.7 列表推導式............................................... 89
6.3 元組.................................................................. 91
·6.3.1 元組的創建和刪除..................................... 91
·6.3.2 訪問元組元素............................................ 94
·6.3.3 修改元組元素............................................ 94
·6.3.4 元組推導式............................................... 95
·6.3.5 元組與列表的區別..................................... 97
6.4 實戰任務............................................................... 97
·任務1:解決“千年蟲”問題.............................. 97
·任務2:降序輸出7家全國零售百強電商的銷售額........ 98
·任務3:推算2018年全國零售百強電商銷售額.... 98
第7 章字元串與正則表達式................99
7.1 字元串常用操作.................................................... 99
·7.1.1 拼接字元串............................................... 99
·7.1.2 計算字元串的長度................................... 100
·7.1.3 截取字元串............................................. 101
·7.1.4 分割字元串............................................. 102
·7.1.5 檢索字元串............................................. 103
·7.1.6 字母的大小寫轉換................................... 106
·7.1.7 去除字元串中的空格和特殊字元............. 107
·7.1.8 格式化字元串.......................................... 109
7.2 正則表達式基礎...................................................112
·7.2.1 行定位符..................................................112
·7.2.2 元字元......................................................113
·7.2.3 限定符......................................................113
·7.2.4 字元類......................................................114
·7.2.5 排除字元..................................................114
·7.2.6 選擇字元..................................................114
·7.2.7 轉義字元..................................................115
·7.2.8 分組.........................................................115
·7.2.9 在Python中使用正則表達式語法..............115
7.3 使用re模組實現正則表達式操作...........................116
·7.3.1 匹配字元串..............................................116
·7.3.2 替換字元串............................................. 120
·7.3.3 使用正則表達式分割字元串.................... 120
7.4 實戰任務............................................................. 121
·任務1:模擬拼多多砍價................................... 121
·任務2:判斷是否買到假貨“康帥博”.............. 122
第8 章流程控制................................123
8.1 程式結構............................................................. 123
8.2 選擇語句............................................................. 124
·8.2.1 最簡單的if語句........................................ 124
·8.2.2 if…else語句............................................ 126
·8.2.3 if…elif…else語句.................................... 128
·8.2.4 if語句的嵌套............................................ 129
8.3 使用and連線條件語句......................................... 130
8.4 使用or連線條件語句............................................ 132
8.5 使用not語句........................................................ 133
8.6 實戰任務............................................................. 134
·任務1:王多魚能繼承百億遺產嗎?................. 134
·任務2:分標準計算打車費................................ 134
第9 章循環結構語句.........................135
9.1 for循環................................................................ 135
9.2 while循環............................................................ 138
9.3 循環嵌套............................................................. 140
9.4 跳轉語句............................................................. 141
·9.4.1 break語句............................................... 142
·9.4.2 continue語句........................................... 143
9.5 實戰任務............................................................. 144
·任務1:實現單位換算器................................... 144
·任務2:計算分期購機月還款額......................... 144
第2 篇進階篇
第10 章字典與集合...........................146
10.1 字典.............................................................. 146
·10.1.1 字典的創建和刪除................................. 147
·10.1.2 通過“鍵值對”訪問字典...................... 150
·10.1.3 遍歷字典............................................... 151
·10.1.4 添加、修改和刪除字典元素.................. 152
·10.1.5 字典推導式........................................... 153
10.2 集合.............................................................. 154
·10.2.1 集合的創建........................................... 154
·10.2.2 集合的添加和刪除................................. 155
·10.2.3 集合的交集、並集和差集運算............... 157
10.3 列表、元組、字典和集合的區別....................... 157
10.4 實戰任務........................................................... 158
·任務1:手機通訊錄管理................................... 158
·任務2:輸出2018年世界人工智慧大會的
出席人員名單....................................... 158
第11 章用函式實現模組化程式設計...159
11.1 函式的創建和調用............................................. 159
·11.1.1 創建一個函式........................................ 159
·11.1.2 調用函式............................................... 161
·11.1.3 pass空語句........................................... 161
11.2 參數傳遞........................................................... 162
·11.2.1 了解形式參數和實際參數...................... 162
·11.2.2 位置參數............................................... 163
·11.2.3 關鍵字參數............................................ 165
·11.2.4 為參數設定默認值................................. 165
·11.2.5 可變參數............................................... 166
11.3 返回值........................................................... 168
11.4 變數的作用域.................................................... 169
·11.4.1 局部變數............................................... 170
·11.4.2 全局變數............................................... 170
11.5 匿名函式........................................................... 172
11.6 常用Python內置函式......................................... 173
11.7 實戰任務........................................................... 174
·任務1:設計精英黑客對講機............................ 174
·任務2:貨幣兌換.............................................. 174
第12 章類和對象..............................175
12.1 面向對象概述.................................................... 175
·12.1.1 對象...................................................... 175
·12.1.2 類.......................................................... 176
·12.1.3 面向對象程式設計的特點...................... 176
12.2 類的定義和使用................................................ 177
·12.2.1 定義類................................................... 177
·12.2.2 創建類的實例........................................ 177
·12.2.3 “魔術”方法—__init__() .................. 178
·12.2.4 創建類的成員並訪問............................. 179
·12.2.5 訪問限制............................................... 182
12.3 屬性.............................................................. 184
·12.3.1 創建用於計算的屬性............................. 184
·12.3.2 為屬性添加安全保護機制...................... 185
12.4 繼承.............................................................. 186
·12.4.1 繼承的基本語法.................................... 186
·12.4.2 方法重寫............................................... 186
·12.4.3 派生類中調用基類的__init__()方法....... 187
12.5 實戰任務........................................................... 188
·任務1:銀行賬戶資金交易管理......................... 188
·任務2:計算由《我不是藥神》引起關注的
格列衛花銷........................................... 188
第13 章模組.................................189
13.1 模組概述........................................................... 189
13.2 自定義模組........................................................ 189
·13.2.1 創建模組............................................... 190
·13.2.2 使用import語句導入模組....................... 190
·13.2.3 使用from…import語句導入模組............ 191
·13.2.4 模組搜尋目錄........................................ 191
13.3 以主程式的形式執行......................................... 193
13.4 Python中的包.................................................... 195
·13.4.1 Python程式的包結構............................. 196
·13.4.2 創建和使用包........................................ 196
13.5 引用其他模組.................................................... 198
·13.5.1 導入和使用標準模組............................. 199
·13.5.2 第三方模組的下載與安裝...................... 200
13.6 實戰任務........................................................... 201
·任務1:高鐵售票系統....................................... 201
·任務2:輸出商品及其價格信息......................... 201
第14 章檔案與IO .............................202
14.1 基本檔案操作.................................................... 202
·14.1.1 創建和打開檔案.................................... 202
·14.1.2 關閉檔案............................................... 205
·14.1.3 打開檔案時使用with語句....................... 205
·14.1.4 寫入檔案內容........................................ 206
·14.1.5 讀取檔案............................................... 206
14.2 目錄操作........................................................... 210
·14.2.1 os和os.path模組................................... 210
·14.2.2 路徑...................................................... 212
·14.2.3 判斷目錄是否存在................................. 214
·14.2.4 創建目錄............................................... 214
·14.2.5 刪除目錄............................................... 216
·14.2.6 遍歷目錄............................................... 217
14.3 高級檔案操作.................................................... 218
·14.3.1 刪除檔案............................................... 219
·14.3.2 重命名檔案和目錄................................. 220
·14.3.3 獲取檔案基本信息................................. 221
14.4 實戰任務........................................................... 222
·任務1:記錄用戶登錄日誌................................ 222
·任務2:模擬淘寶客服自動回復......................... 222
第3 篇高級篇
第15 章使用Python 運算元據庫......224
15.1 資料庫編程接口................................................ 224
·15.1.1 連線對象............................................... 224
·15.1.2 游標對象............................................... 226
15.2 使用SQLite ....................................................... 226
·15.2.1 創建資料庫檔案.................................... 226
·15.2.2 操作SQLite ........................................... 227
15.3 使用MySQL ...................................................... 229
·15.3.1 下載安裝MySQL ................................... 229
·15.3.2 安裝PyMySQL ...................................... 233
·15.3.3 連線資料庫........................................... 234
·15.3.4 創建數據表........................................... 234
·15.3.5 操作MySQL數據表............................... 235
15.4 實戰任務........................................................... 237
·任務1:記錄用戶登錄日誌(資料庫版).......... 237
·任務2:降序輸出7家全國零售百強電商的
銷售額(資料庫版)............................ 237
第16 章進程和執行緒...........................238
16.1 什麼是進程........................................................ 238
16.2 創建進程的常用方式......................................... 239
·16.2.1 使用multiprocessing模組創建進程........ 239
·16.2.2 使用Process子類創建進程.................... 242
·16.2.3 使用進程池Pool創建進程...................... 244
16.3 通過佇列實現進程間通信.................................. 245
·16.3.1 佇列簡介............................................... 247
·16.3.2 多進程佇列的使用................................. 247
·16.3.3 使用佇列在進程間通信......................... 249
16.4 什麼是執行緒........................................................ 250
16.5 創建執行緒........................................................... 251
·16.5.1 使用threading模組創建執行緒.................. 251
·16.5.2 使用Thread子類創建執行緒..................... 252
16.6 執行緒間通信........................................................ 253
·16.6.1 什麼是互斥鎖........................................ 254
·16.6.2 使用互斥鎖........................................... 255
·16.6.3 使用佇列線上程間通信......................... 257
16.7 關於執行緒需要注意的兩點.................................. 258
·16.7.1 進程和執行緒的區別................................. 258
·16.7.2 多執行緒非全局變數是否要加鎖............... 258
16.8 實戰任務........................................................... 259
·任務1:手機號碼滾動抽獎................................ 259
·任務2:預測2018年世界網際網路大會
“烏鎮飯局”........................................ 259
第17 章網路編程..............................260
17.1 網路基礎........................................................... 260
·17.1.1 為什麼要使用通信協定......................... 260
·17.1.2 TCP/IP簡介........................................... 261
·17.1.3 UDP簡介............................................... 262
·17.1.4 Socket簡介........................................... 263
17.2 TCP編程........................................................... 264
·17.2.1 創建TCP伺服器.................................... 264
·17.2.2 創建TCP客戶端.................................... 266
·17.2.3 執行TCP伺服器和客戶端...................... 266
17.3 UDP編程........................................................... 269
·17.3.1 創建UDP 伺服器................................... 269
·17.3.2 創建UDP 客戶端................................... 270
·17.3.3 執行UDP 伺服器和客戶端..................... 271
17.4 實戰任務........................................................... 271
·任務1:網路嗅探器........................................... 271
·任務2:掃描並輸出區域網路占用的IP位址.......... 271
第18 章異常處理及程式調試............272
18.1 異常概述........................................................... 272
18.2 異常處理語句.................................................... 273
·18.2.1 try…except語句.................................... 274
·18.2.2 try…except…else語句.......................... 274
·18.2.3 try…except…finally語句....................... 275
·18.2.4 使用raise語句拋出異常......................... 277
18.3 程式調試........................................................... 277
·18.3.1 使用自帶的IDLE進行程式調試.............. 277
·18.3.2 使用assert語句調試程式....................... 280
第4 篇框架篇
第19 章常用的GUI 框架..................284
19.1 初識GUI ............................................................ 284
·19.1.1 什麼是GUI ............................................ 284
·19.1.2 常用的GUI框架..................................... 285
19.2 wxPython框架的使用........................................ 285
·19.2.1 安裝wxPython ...................................... 285
·19.2.2 創建一個wx.App的子類........................ 286
·19.2.3 直接使用wx.App ................................... 286
·19.2.4 使用wx.Frame框架............................... 287
·19.2.5 常用控制項............................................... 288
·19.2.6 BoxSizer布局........................................ 293
·19.2.7 事件處理............................................... 297
19.3 PyQt框架的使用................................................ 299
·19.3.1 安裝PyQt .............................................. 299
·19.3.2 使用第三方開發工具............................. 299
·19.3.3 創建主窗體........................................... 303
·19.3.4 常用控制項............................................... 306
·19.3.5 布局管理............................................... 310
·19.3.6 信號與槽的關聯.....................................311
·19.3.7 資源檔案的使用.................................... 313
第20 章pygame 遊戲框架.................318
20.1 初識pygame...................................................... 318
·20.1.1 安裝pygame ......................................... 318
·20.1.2 pygame常用模組.................................. 319
20.2 pygame的基本使用........................................... 321
第21 章網路爬蟲框架.......................327
21.1 初識網路爬蟲.................................................... 327
·21.1.1 網路爬蟲概述........................................ 327
·21.1.2 網路爬蟲的分類.................................... 327
·21.1.3 網路爬蟲的基本原理............................. 328
21.2 網路爬蟲的常用技術......................................... 329
·21.2.1 Python的網路請求................................ 329
·21.2.2 請求headers處理.................................. 332
·21.2.3 網路逾時............................................... 333
·21.2.4 代理服務............................................... 334
·21.2.5 HTML解析之BeautifulSoup .................. 335
21.3 網路爬蟲開發常用框架...................................... 338
·21.3.1 Scrapy爬蟲框架.................................... 338
·21.3.2 Crawley爬蟲框架.................................. 338
·21.3.3 PySpider爬蟲框架................................ 339
21.4 Scrapy爬蟲框架的使用..................................... 339
·21.4.1 搭建Scrapy爬蟲框架............................. 339
·21.4.2 創建Scrapy項目.................................... 341
·21.4.3 創建爬蟲............................................... 342
·21.4.4 獲取數據............................................... 344
第22 章Flask Web 框架的使用.........347
22.1 Web框架簡介.................................................... 347
·22.1.1 什麼是Web框架.................................... 347
·22.1.2 常用的Web框架.................................... 348
22.2 Flask框架的使用............................................... 348
·22.2.1 安裝虛擬環境........................................ 349
·22.2.2 安裝Flask .............................................. 350
·22.2.3 第一個Flask程式................................... 351
·22.2.4 開啟調試模式........................................ 352
·22.2.5 路由...................................................... 352
·22.2.6 靜態檔案............................................... 355
·22.2.7 模板...................................................... 355
第23 章Django Web 框架的使用......360
23.1 安裝Django Web框架....................................... 360
23.2 Django框架的使用............................................ 361
·23.2.1 創建一個Django項目............................ 361
·23.2.2 創建App ................................................ 363
·23.2.3 數據模型(models) ................................. 364
·23.2.4 管理後台............................................... 369
·23.2.5 路由(urls) .............................................. 370
·23.2.6 表單(forms) ........................................... 372
·23.2.7 視圖(views) ........................................... 374
·23.2.8 Django模板........................................... 376
第5 篇遊戲開發篇
第24 章谷歌小恐龍遊戲...................380
24.1 項目概述........................................................... 380
24.2 設計流程........................................................... 381
24.3 系統預覽........................................................... 381
24.4 開發工具準備.................................................... 382
24.5 谷歌小恐龍遊戲的實現...................................... 382
·24.5.1 主窗體的實現........................................ 382
·24.5.2 滾動地圖的顯示.................................... 384
·24.5.3 可以跳躍的小恐龍................................. 385
·24.5.4 障礙物的出現........................................ 387
·24.5.5 碰撞與積分........................................... 390
第25 章飛機大戰遊戲.......................392
25.1 概述.............................................................. 392
25.2 系統預覽........................................................... 393
25.3 開發工具準備.................................................... 393
25.4 飛機大戰遊戲的實現......................................... 393
·25.4.1 主窗體的實現........................................ 393
·25.4.2 遊戲界面設定........................................ 396
·25.4.3 用戶互動操作的實現............................. 397
·25.4.4 對子彈的處理........................................ 398
·25.4.5 敵機的處理........................................... 398
·25.4.6 顯示遊戲得分........................................ 400
·25.4.7 遊戲結束繪製遊戲結束畫面.................. 400
·25.4.8 更新排行榜內容.................................... 401
·25.4.9 判斷滑鼠的單擊位置............................. 402
·25.4.10 遊戲排行榜......................................... 403
第26 章微信跳一跳輔助工具............405
26.1 項目概述........................................................... 405
26.2 設計流程........................................................... 406
26.3 系統預覽........................................................... 406
26.4 開發工具準備.................................................... 407
26.5 開發前的準備工作............................................. 407
·26.5.1 PIL模組的安裝...................................... 408
·26.5.2 PIL模組的使用...................................... 408
·26.5.3 matplotlib模組的使用............................ 409
·26.5.4 ADB工具............................................... 410
26.6 微信跳一跳輔助工具..........................................411
·26.6.1 窗體的實現............................................411
·26.6.2 同步手機螢幕的畫面............................. 412
·26.6.3 選擇起點與終點實現跳躍...................... 413
·26.6.4 實現重選功能........................................ 416
26.7 微信跳一跳輔助工具(自動)........................... 416
·26.7.1 同步手機螢幕的畫面............................. 416
·26.7.2 掃描棋子與棋盤.................................... 417
·26.7.3 實現自動跳躍........................................ 420
第6 篇人工智慧開發篇
第27 章汽車之家圖片抓取工具.........424
27.1 概述.............................................................. 424
27.2 設計流程........................................................... 424
27.3 系統預覽........................................................... 425
27.4 開發工具準備.................................................... 426
27.5 汽車之家圖片抓取工具的實現........................... 427
·27.5.1 登錄功能............................................... 427
·27.5.2 主窗體設計........................................... 428
·27.5.3 創建爬蟲類........................................... 429
·27.5.4 開啟爬蟲類........................................... 430
·27.5.5 查看大圖功能........................................ 433
第28 章AI 圖像識別工具...................434
28.1 概述.............................................................. 434
28.2 設計流程........................................................... 434
28.3 系統預覽........................................................... 435
28.4 開發工具準備.................................................... 436
28.5 開發前的準備工作............................................. 437
·28.5.1 申請百圖AI接口.................................... 437
·28.5.2 urllib、urllib.request模組...................... 438
·28.5.3 json模組................................................ 439
28.6 AI圖像識別工具的開發...................................... 440
·28.6.1 根據項目設計製作窗體......................... 440
·28.6.2 添加分類............................................... 440
·28.6.3 選擇識別的圖片.................................... 441
·28.6.4 銀行卡圖像識別.................................... 443
·28.6.5 植物圖像識別........................................ 445
·28.6.6 複製識別結果到剪貼簿......................... 446
第7 篇商業項目篇
第29 章e 起去旅行網站....................448
29.1 系統功能設計.................................................... 448
·29.1.1 系統功能結構........................................ 448
·29.1.2 系統業務流程........................................ 449
29.2 系統開發必備.................................................... 450
·29.2.1 系統開發環境........................................ 450
·29.2.2 資料夾組織結構.................................... 450
29.3 資料庫設計........................................................ 451
·29.3.1 資料庫概要說明.................................... 451
·29.3.2 數據表模型........................................... 452
·29.3.3 數據表關係........................................... 453
29.4 前台用戶模組設計............................................. 454
·29.4.1 會員註冊功能實現................................. 454
·29.4.2 會員登錄功能實現................................. 461
·29.4.3 會員退出功能實現................................. 462
29.5 前台首頁模組設計............................................. 463
·29.5.1 推薦景區功能實現................................. 464
·29.5.2 推薦地區功能實現................................. 466
·29.5.3 搜尋景區功能實現................................. 467
29.6 景區模組設計.................................................... 470
·29.6.1 查看景區功能實現................................. 470
·29.6.2 查看遊記功能實現................................. 473
·29.6.3 收藏景區功能實現................................. 474
·29.6.4 查看收藏景區功能實現......................... 477
29.7 關於我們模組設計............................................. 480
29.8 後台模組設計.................................................... 484
·29.8.1 實現管理員登錄功能............................. 484
·29.8.2 實現景區管理功能................................. 485
·29.8.3 實現地區管理功能................................. 497
·29.8.4 實現遊記管理功能................................. 497
·29.8.5 實現會員管理功能................................. 498
·29.8.6 實現日誌管理功能................................. 498
第30 章看店寶(京東版)................500
30.1 項目概述........................................................... 500
30.2 設計流程........................................................... 501
30.3 系統預覽........................................................... 501
30.4 開發工具準備.................................................... 504
30.5 主窗體界面設計................................................ 504
·30.5.1 對主窗體進行可視化設計...................... 504
·30.5.2 將可視化窗體轉換為.py檔案................. 506
·30.5.3 設定窗體及控制項背景............................. 506
·30.5.4 創建窗體控制檔案................................. 506
·30.5.5 主窗體預覽效果.................................... 507
30.6 設計資料庫表結構............................................. 508
30.7 初始數據的爬取................................................ 509
·30.7.1 爬取排行信息........................................ 509
·30.7.2 爬取價格信息........................................ 512
·30.7.3 爬取評價信息........................................ 514
·30.7.4 批量寫入資料庫.................................... 517
30.8 圖表分析數據.................................................... 520
·30.8.1 餅形圖展示評價信息............................. 520
·30.8.2 分析出版社所占比例的條形圖............... 521
·30.8.3 折線圖分析價格走勢............................. 522
·30.8.4 Top10數據展示..................................... 523
30.9 商品排行展示.................................................... 527
·30.9.1 熱銷商品排行榜.................................... 527
·30.9.2 熱門商品展示........................................ 529
30.10 關注商品......................................................... 531
·30.10.1 分析關注商品的預警信息.................... 531
·30.10.2 重點商品的關注與取消....................... 533
30.11 商品行銷預警.................................................. 539
·30.11.1 商品中評、差評預警........................... 539
·30.11.2 商品價格變化預警............................... 541
30.12 關注商品圖表分析........................................... 543
·30.12.1 關注商品評價分析餅圖....................... 544
·30.12.2 關注商品出版社占有比例.................... 546
30.13 其他功能......................................................... 549
附錄1 內置函式......................................................... 551
附錄2 PyCharm常用快捷鍵...................................... 554
附錄3 PyCharm常用設定.......................................... 556