Python項目案例開發從入門到實戰——爬蟲、遊戲和機器學習

Python項目案例開發從入門到實戰——爬蟲、遊戲和機器學習

《Python項目案例開發從入門到實戰——爬蟲、遊戲和機器學習》,清華大學出版社2019年出版的圖書,作者是鄭秋生、夏敏捷、宋寶衛、李娟。

基本介紹

  • 中文名:Python項目案例開發從入門到實戰——爬蟲、遊戲和機器學習
  • 作者:鄭秋生、夏敏捷、宋寶衛、李娟
  • 類別:圖書
  • 出版社:清華大學出版社
  • 出版時間:2019年01月01日
  • 定價:79.8 元
  • ISBN:9787302459705
  • 印次:1-6
內容簡介,圖書目錄,

內容簡介

本書以Python 3.5為編程環境,從基本的程式設計思想入手,逐步展開Python語言教學,是一本面向廣大編程學習者的程式設計類圖書。本書以案例帶動知識點的講解,將Python知識點分解到各個不同的案例,每個案例各有側重點,同時展示實際項目的設計思想和設計理念,使讀者可以舉一反三。  
本書案例具有實用性,例如校園網搜尋引擎、小小翻譯器、抓取百度圖片這些爬蟲案例略加修改可以套用到實際項目中;還有通過微信通信協定開發微信機器人、機器學習的文本分類、基於卷積神經網路的手寫體識別等案例;另外是一些大家耳熟能詳的遊戲案例,例如連連看、推箱子、中國象棋、網路五子棋、兩人麻將、人物拼圖和飛機大戰等遊戲。通過本書,讀者將掌握Python編程技術和技巧,學會面向對象的設計方法,了解程式設計的所有相關內容。

圖書目錄

目錄
第1章Python基礎知識 1
1.1 Python語言簡介 1
1.2 Python語法基礎 2
1.2.1 Python數據類型 2
1.2.2 序列數據結構 4
1.2.3 Python控制語句 12
1.2.4 Python函式與模組 18
1.3 Python面向對象設計 22
1.3.1 定義和使用類 22
1.3.2 構造函式 23
1.3.3 析構函式 24
1.3.4 實例屬性和類屬性 24
1.3.5 私有成員與公有成員 25
1.3.6 方法 26
1.3.7 類的繼承 27
1.3.8 多態 29
1.3.9 面向對象套用案例——撲克牌發牌程式 31
1.4 Python圖形界面設計 34
1.4.1 創建Windows視窗 35
1.4.2 幾何布局管理器 35
1.4.3 Tkinter組件 39
1.4.4 Tkinter字型 49
1.4.5 Python事件處理 51
1.4.6 圖形界面設計套用案例——開發猜數字遊戲 55
1.5 Python檔案的使用 57
1.5.1 打開/建立檔案 57
1.5.2 讀取文本檔案 59
1.5.3 寫文本檔案 60
1.5.4 檔案內移動 62
1.5.5 檔案的關閉 63
1.5.6 二進制檔案的讀/寫 64
1.6 Python的第三方庫 66
第2章序列套用——猜單詞遊戲 67
2.1 猜單詞遊戲功能介紹 67
2.2 程式設計的思路 67
2.3 關鍵技術——random模組 68
2.4 程式設計的步驟 71
第3章資料庫套用——智力問答測試 73
3.1 智力問答測試功能介紹 73
3.2 程式設計的思路 73
3.3 關鍵技術 74
3.3.1 訪問資料庫的步驟 74
3.3.2 創建資料庫和表 75
3.3.3 資料庫的插入、更新和刪除操作 76
3.3.4 資料庫表的查詢操作 77
3.3.5 資料庫使用實例——學生通訊錄 77
3.4 程式設計的步驟 80
3.4.1 生成試題庫 80
3.4.2 讀取試題信息 81
3.4.3 界面和邏輯設計 81
第4章調用百度API套用——小小翻譯器 83
4.1 小小翻譯器功能介紹 83
4.2 程式設計的思路 83
4.3 關鍵技術 84
4.3.1 urllib庫簡介 84
4.3.2 urllib庫的基本使用 84
4.4 程式設計的步驟 90
4.4.1 設計界面 90
4.4.2 使用百度翻譯開放平台API 90
第5章爬蟲套用——校園網搜尋引擎 95
5.1 校園網搜尋引擎功能分析 95
5.2 校園網搜尋引擎系統設計 95
5.3 關鍵技術 98
5.3.1 正則表達式 98
5.3.2 中文分詞 103
5.3.3 安裝和使用jieba 103
5.3.4 為jieba添加自定義詞典 104
5.3.5 文本分類的關鍵字提取 105
5.3.6 deque 106
5.4 程式設計的步驟 107
5.4.1 信息採集模組——網路爬蟲的實現 107
5.4.2 索引模組——建立倒排詞表 111
5.4.3 網頁排名和搜尋模組 113
第6章爬蟲套用——抓取百度圖片 116
6.1 程式功能介紹 116
6.2 程式設計的思路 116
6.3 關鍵技術 117
6.3.1 圖片檔案下載到本地 117
6.3.2 爬取指定網頁中的圖片 117
6.3.3 BeautifulSoup庫概述 119
6.3.4 用BeautifulSoup庫操作解析HTML文檔樹 121
6.3.5 requests庫的使用 125
6.4 程式設計的步驟 133
6.4.1 分析網頁原始碼和網頁結構 133
6.4.2 設計代碼 136
第7章itchat套用——微信機器人 139
7.1 itchat功能介紹 139
7.2 程式設計的思路 140
7.3 關鍵技術 140
7.3.1 安裝itchat 140
7.3.2 itchat的登錄微信 140
7.3.3 itchat的訊息類型 141
7.3.4 itchat回復訊息 143
7.3.5 itchat獲取賬號 145
7.3.6 itchat的一些簡單套用 147
7.3.7 Python調用圖靈機器人API實現簡單的人機互動 150
7.4 程式設計的步驟 152
7.5 開發訊息同步機器人 153
第8章微信網頁版協定套用——微信機器人 155
8.1 微信網頁版機器人功能介紹 155
8.2 微信網頁版機器人設計思路 155
8.2.1 分析微信網頁版API 155
8.2.2 API匯總 158
8.2.3 其他說明 164
8.3 程式設計的步驟 166
8.3.1 微信網頁版的運行流程 166
8.3.2 程式目錄 167
8.3.3 微信網頁版運行代碼的實現 167
8.4 擴展功能 170
8.4.1 自動回復 170
8.4.2 群發訊息、定時傳送訊息、好友狀態檢測 173
8.4.3 自動邀請好友加入群聊 175
第9章圖像處理——生成二維碼和驗證碼 178
9.1 二維碼介紹 178
9.2 二維碼生成和解析關鍵技術 179
9.2.1 qrcode庫的使用 179
9.2.2 PIL庫的使用 182
9.3 二維碼生成和解析程式設計的步驟 184
9.3.1 生成帶有圖示的二維碼 184
9.3.2 Python解析二維碼圖片 186
9.4 用Python生成驗證碼圖片 186
第10章益智遊戲——連連看遊戲 189
10.1 連連看遊戲介紹 189
10.2 程式設計的思路 190
10.3 關鍵技術 200
10.3.1 圖形繪製——Tinker的Canvas組件 200
10.3.2 Canvas上的圖形對象 200
10.4 程式設計的步驟 210
第11章益智遊戲——推箱子遊戲 215
11.1 推箱子遊戲介紹 215
11.2 程式設計的思路 216
11.3 關鍵技術 217
11.4 程式設計的步驟 218
第12章娛樂遊戲——兩人麻將遊戲 224
12.1 麻將遊戲介紹 224
12.1.1 麻將術語 224
12.1.2 牌數 224
12.2 兩人麻將遊戲設計的思路 225
12.2.1 素材圖片 225
12.2.2 遊戲的邏輯實現 226
12.2.3 碰/吃牌的判斷 226
12.2.4 和牌算法 227
12.2.5 實現計算機智慧型出牌 231
12.3 關鍵技術 233
12.3.1 聲音的播放 233
12.3.2 返回對應位置的組件 233
12.3.3 對保存麻將牌的列表排序 234
12.4 兩人麻將遊戲設計的步驟 235
12.4.1 設計麻將牌類 235
12.4.2 設計遊戲主程式 237
第13章網路編程案例——基於TCP的線上聊天程式 247
13.1 基於TCP的線上聊天程式簡介 247
13.2 關鍵技術 247
13.2.1 網際網路TCP/IP協定 247
13.2.2 IP協定和連線埠 248
13.2.3 TCP協定和UDP協定 249
13.2.4 Socket 249
13.2.5 多執行緒編程 254
13.3 線上聊天程式設計的步驟 256
13.3.1 線上聊天程式的伺服器端 256
13.3.2 線上聊天程式的客戶端 259
第14章網路通信案例——基於UDP的網路五子棋
遊戲 263
14.1 網路五子棋遊戲簡介 263
14.2 五子棋遊戲的設計思想 264
14.3 關鍵技術 267
14.3.1 UDP編程 267
14.3.2 自定義網路五子棋遊戲的通信協定 269
14.4 網路五子棋遊戲程式設計的步驟 271
14.4.1 伺服器端程式設計的步驟 271
14.4.2 客戶端程式設計的步驟 276
第15章益智遊戲——中國象棋 281
15.1 中國象棋介紹 281
15.2 關鍵技術 282
15.3 中國象棋的設計思路 284
15.4 中國象棋實現的步驟 287
第16章娛樂遊戲——人物拼圖遊戲 297
16.1 人物拼圖遊戲介紹 297
16.2 程式設計的思路 298
16.3 關鍵技術 298
16.3.1 複製和貼上圖像區域 298
16.3.2 調整尺寸和旋轉 298
16.3.3 轉換成灰度圖像 299
16.3.4 對像素進行操作 300
16.4 程式設計的步驟 300
16.4.1 Python處理圖片切割 300
16.4.2 遊戲的邏輯實現 302
第17章基於Pygame的遊戲設計 306
17.1 Pygame基礎知識 306
17.1.1 安裝Pygame庫 306
17.1.2 Pygame的模組 306
17.2 Pygame的使用 309
17.2.1 Pygame開發遊戲的主要流程 309
17.2.2 Pygame的圖像/圖形繪製 311
17.2.3 Pygame的鍵盤和滑鼠事件的處理 314
17.2.4 Pygame的字型使用 319
17.2.5 Pygame的聲音播放 320
17.2.6 Pygame的精靈使用 321
17.3 基於Pygame設計貪吃蛇遊戲 326
17.4 基於Pygame設計飛機大戰遊戲 333
17.4.1 遊戲角色 333
17.4.2 遊戲界面顯示 336
17.4.3 遊戲的邏輯實現 338
第18章機器學習案例——基於樸素貝葉斯算法的
文本分類 343
18.1 文本分類功能介紹 343
18.2 程式設計的思路 343
18.3 關鍵技術 344
18.3.1 貝葉斯算法的理論基礎 344
18.3.2 樸素貝葉斯分類 346
18.3.3 使用Python進行文本分類 348
18.4 程式設計的步驟 348
18.4.1 收集訓練數據 348
18.4.2 準備數據 349
18.4.3 分析數據 349
18.4.4 訓練算法 350
18.4.5 測試算法並改進 353
18.4.6 使用算法進行文本分類 354
18.5 使用樸素貝葉斯分類算法過濾垃圾郵件 355
18.5.1 收集訓練數據 355
18.5.2 將文本檔案解析為詞向量 356
18.5.3 使用樸素貝葉斯算法進行郵件分類 357
18.5.4 改進算法 359
18.6 使用Scikit-Learn庫進行文本分類 360
18.6.1 文本分類常用的類和函式 360
18.6.2 案例實現 363
第19章深度學習案例——基於卷積神經網路的
手寫體識別 366
19.1 手寫體識別案例需求 366
19.2 深度學習的概念及關鍵技術 366
19.2.1 神經網路模型 366
19.2.2 深度學習之卷積神經網路 367
19.3 Python深度學習庫——Keras 372
19.3.1 Keras的安裝 372
19.3.2 Keras的網路層 372
19.3.3 用Keras構建神經網路 375
19.4 程式設計的思路 376
19.5 程式設計的步驟 377
19.5.1 MNIST數據集 377
19.5.2 手寫體識別案例實現 378
19.5.3 預測自己手寫圖像 382
第20章詞雲實戰——爬取豆瓣影評生成詞雲 383
20.1 功能介紹 383
20.2 程式設計的思路 384
20.3 關鍵技術 385
20.3.1 安裝WordCloud 385
20.3.2 使用WordCloud 385
20.4 程式設計的步驟 389
參考文獻 397

相關詞條

熱門詞條

聯絡我們