夏敏捷主編的Python專案案例開發著作出版了

xiamin發表於2018-11-28

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

作者:鄭秋生、夏敏捷、宋寶衛、李娟

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

經過一年多辛苦寫作,同時感謝多位同事的參與和錄製視訊,終於順利出版了,希望獲取讀者的認可!

內容簡介

本書以Python 3.5為程式設計環境,從基本的程式設計思想入手,逐步展開Python語言教學,是一本面向廣大程式設計學習者的程式設計類圖書。本書以案例帶動知識點的講解,將Python

知識點分解到各個不同的案例,每個案例各有側重點。同時展示實際專案的設計思想和設計理念,使讀者可以舉一反三。
 

本書內容:第1章是Python基礎知識,主要講解Python的基礎語法和麵向物件程式設計基礎,Tkinter圖形介面設計、檔案使用、Python的第三方庫等知識,讀者可以輕鬆掌握Python基礎知識。

從第2章開始是實用專案案例開發,綜合應用前面技術,並且每章都有突出的新知識點,如側重資料庫應用的《智力問答測試》,應用爬蟲技術開發的案例《校園網搜尋引擎》、應用ITchat微信庫開發的《微信機器人》、機器學習案例《基於樸素貝葉斯演算法的文字分類》、深度學習案例《基於卷積神經網路的手寫體識別》等,還有經典的大家耳熟能詳的遊戲,比如連連看、推箱子、中國象棋、兩人麻將、人物拼圖、網路五子棋、飛機大戰等遊戲案例。
 

 

本書案例具有實用性,如校園網搜尋引擎、小小翻譯器、抓取百度圖片這些爬蟲案例略加修改可以應用實際專案中;還有通過微信通訊協議開發微信機器人,機器學習的文字分類、基於卷積神經網路的手寫體識別等案例,另外是一些大家耳熟能詳的遊戲案例,比如連連看、推箱子、中國象棋、網路五子棋、兩人麻將、人物拼圖和飛機大戰遊戲等,讓你對枯燥的Python語言學習充滿樂趣,在專案案例開發過程中,不知不覺地學會這些枯燥的技術。通過本書你將學會Python程式設計技術和技巧,學會物件導向的設計技術,瞭解程式設計的所有相關內容。我們不僅為您列出了完整的程式碼,同時對所有的原始碼進行了非常詳細的解釋,做到了通俗易懂,圖文並茂。

本書適用於Python語言學習者、程式設計人員和遊戲程式設計愛好者。


圖書目錄

 

《Python輕鬆學專案案例開發》.. 1

第1章  Python基礎知識.. 1

1.1  Python語言簡介.. 1

1.2  Python語法基礎.. 2

1.2.1  Python資料型別.. 2

1.2.2  序列資料結構.. 3

1.2.3  Python控制語句.. 11

1.2.4  Python函式與模組.. 18

1.3  Python物件導向設計.. 22

1.3.1  定義和使用類.. 22

1.3.2  建構函式__init__. 23

1.3.3  解構函式.. 23

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 圖形介面設計.. 35

1.4.1  建立Windows視窗.. 35

1.4.2  幾何佈局管理器.. 36

1.4.3  Tkinter 元件.. 39

1.4.4  Tkinter字型.. 50

1.4.5  Python事件處理.. 52

1.4.4  圖形介面設計應用案例——開發猜數字遊戲.. 57

1.5  Python檔案的使用.. 59

1.5.1  開啟(建立)檔案.. 59

1.5.2  讀取文字檔案.. 61

1.5.3  寫文字檔案.. 62

1.5.4  檔案內移動.. 64

1.5.5  檔案的關閉.. 65

1.5.6  二進位制檔案的讀寫.. 65

1.6  Python的第三方庫.. 67

第2章  序列應用——猜單詞遊戲.. 69

2.1  猜單詞遊戲功能介紹.. 69

2.2  程式設計的思路.. 69

2.3  關鍵技術——random模組.. 70

2.4  程式設計的步驟.. 72

第3章  資料庫應用——智力問答測試.. 74

3.1  智力問答測試功能介紹.. 74

3.2  程式設計的思路.. 74

3.3  關鍵技術.. 74

3.3.1  訪問資料庫的步驟.. 74

3.3.2  建立資料庫和表.. 76

3.3.3  資料庫的插入、更新和刪除操作.. 76

3.3.4  資料庫表的查詢操作.. 77

3.3.5  資料庫使用例項——學生通訊錄.. 78

3.4  程式設計的步驟.. 81

3.4.1  生成試題庫.. 81

3.4.2  讀取試題資訊.. 82

3.4.3  介面和邏輯設計.. 82

第4章  呼叫百度API應用——小小翻譯器.. 84

4.1  小小翻譯器功能介紹.. 84

4.2  程式設計的思路.. 84

4.3  關鍵技術.. 84

4.3.1  urllib庫簡介.. 84

4.3.2  urllib庫的基本使用.. 85

4.4  程式設計的步驟.. 90

4.4.1  設計介面.. 90

4.4.2  使用百度翻譯開放平臺API 91

第5章  爬蟲應用——校園網搜尋引擎.. 95

5.1  校園網搜尋引擎功能分析.. 95

5.2  校園網搜尋引擎系統設計.. 95

5.3  關鍵技術.. 97

5.3.1  正規表示式.. 97

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  索引模組——建立倒排詞表.. 110

5.4.3  網頁排名和搜尋模組.. 112

第6章  爬蟲應用——抓取百度圖片.. 116

6.1  程式功能介紹.. 116

6.2  程式設計的思路.. 116

6.3  關鍵技術.. 116

6.3.1  圖片檔案下載到本地.. 116

6.3.2  爬取指定網頁中的圖片.. 117

6.3.3  BeautifulSoup庫概述.. 118

6.3.4  BeautifulSoup庫操作解析HTML文件樹.. 121

6.3.5  BeautifulSoup庫和requests庫的使用.. 124

6.4  程式設計的步驟.. 132

6.4.1  分析網頁原始碼和網頁結構.. 132

6.4.2  設計程式碼.. 135

第7章  微信庫ITchat應用——微信機器人.. 138

7.1  微信機器人ITchat功能介紹.. 138

7.2  程式設計的思路.. 138

7.3  關鍵技術.. 139

7.3.1  安裝itchat 139

7.3.2  itchat的登陸微信.. 139

7.3.3  itchat的訊息型別.. 139

7.3.4  itchat回覆訊息.. 142

7.3.5  itchat獲取賬號.. 143

7.3.6  itchat的一些簡單應用.. 145

7.3.7  Python呼叫圖靈機器人API實現簡單的人機互動.. 148

7.4  程式設計的步驟.. 150

7.5  開發訊息同步機器人.. 151

第8章  微信網頁版協議應用——微信機器人.. 154

8.1  微信網頁版機器人功能介紹.. 154

8.2  微信網頁版機器人設計思路.. 154

8.2.1分析微信網頁版API 154

8.2.2  API彙總.. 157

8.2.3  其他說明.. 164

8.3 程式設計步驟.. 166

8.3.1 微信網頁版執行流程.. 166

8.3.2程式目錄.. 167

8.3.3 微信網頁版執行程式碼實現.. 167

8.4 擴充套件功能.. 171

8.4.1 自動回覆.. 171

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 庫的使用.. 181

9.3  二維碼生成和解析程式設計的步驟.. 184

9.3.1  生成帶有圖示的二維碼.. 184

9.3.2  Python解析二維碼圖片.. 185

9.4  用Python生成驗證碼圖片.. 186

第10章  益智遊戲——連連看遊戲.. 189

10.1  連連看遊戲介紹.. 189

10.2  程式設計的思路.. 190

10.3  關鍵技術.. 201

10.3.1  圖形繪製——Tinker 的Canvas畫布元件.. 201

10.3.2  Canvas上的圖形物件.. 201

10.3  程式設計的步驟.. 210

第11章  益智遊戲——推箱子游戲.. 216

11.1  推箱子游戲介紹.. 216

11.2  程式設計的思路.. 216

11.3  關鍵技術.. 218

11.4  程式設計的步驟.. 219

第12章  娛樂遊戲——兩人麻將遊戲.. 225

12.1  麻將遊戲介紹.. 225

12.2  兩人麻將遊戲設計的思路.. 226

12.2.1 素材圖片.. 226

12.2.2 遊戲邏輯實現.. 227

12.2.3 碰吃牌判斷.. 227

12.2.4 胡牌演算法.. 228

12.2.5 實現電腦智慧出牌.. 232

12.3  關鍵技術.. 234

12.3.1  聲音播放.. 234

12.3.2  返回對應位置的元件.. 234

12.3.3  對儲存麻將牌的列表排序.. 235

12.4  兩人麻將遊戲設計的步驟.. 236

12.4.1  麻將牌類設計.. 236

12.4.2  設計遊戲主程式.. 238

第13章 網路程式設計案例——基於TCP線上聊天程式.. 249

13.1  基於TCP線上聊天程式簡介.. 249

13.2  關鍵技術.. 249

13.2.1  網際網路TCP/IP協議.. 249

13.2.2  IP協議和埠.. 250

13.2.3  TCP和UDP協議.. 251

13.2.4  Socket 251

13.2.5  多執行緒程式設計.. 256

13.3  線上聊天程式設計的步驟.. 258

13.3.1  線上聊天程式伺服器端.. 258

13.3.2  線上聊天程式客戶端.. 261

第14章 網路通訊案例——基於UDP的網路五子棋.. 266

14.1  網路五子棋遊戲簡介.. 266

14.2  五子棋設計思想.. 267

14.3  關鍵技術.. 270

14.3.1  UDP程式設計.. 270

14.3.2  自定義網路五子棋遊戲通訊協議.. 272

14.4  網路五子棋程式設計的步驟.. 274

14.4.1  伺服器端程式設計的步驟.. 274

14.4.2  客戶端程式設計的步驟.. 280

第15章  益智遊戲——中國象棋.. 285

15.1  中國象棋介紹.. 285

15.2  關鍵技術.. 286

15.3  中國象棋設計思路.. 287

15.4  中國象棋實現的步驟.. 291

第16章  娛樂遊戲——人物拼圖遊戲.. 302

16.1  人物拼圖遊戲介紹.. 302

16.2  程式設計的思路.. 302

16.3  關鍵技術.. 303

16.3.1  Python影像處理類庫(PIL).. 303

16.3.2  複製和貼上影像區域.. 305

16.3.3  調整尺寸和旋轉.. 305

16.3.4  轉換成灰度影像.. 306

16.3.5  對畫素進行操作.. 306

16.4  程式設計的步驟.. 307

16.4.1  Python處理圖片切割.. 307

16.4.2  遊戲邏輯實現.. 308

第17章  基於Pygame遊戲設計.. 313

17.1  Pygame基礎知識.. 313

17.1.1  安裝Pygame庫.. 313

17.1.2  Pygame的模組.. 313

17.2  Pygame的使用.. 316

17.2.1  Pygame開發遊戲的主要流程.. 316

17.2.2  Pygame的影像圖形繪製.. 318

17.2.3  Pygame的鍵盤和滑鼠事件的處理.. 321

17.2.4  Pygame的字型使用.. 325

17.2.5  Pygame的聲音播放.. 326

17.2.6  Pygame的精靈使用.. 327

17.3  基於Pygame設計貪吃蛇遊戲.. 333

17.4  基於Pygame設計飛機大戰遊戲.. 339

17.4.1  遊戲角色.. 340

17.4.2  遊戲介面顯示.. 342

17.4.3  遊戲邏輯實現.. 345

第18章 機器學習案例——基於樸素貝葉斯演算法的文字分類.. 350

18.1  文字分類功能介紹.. 350

18.2  程式設計思路.. 350

18.3  關鍵技術.. 351

18.3.1貝葉斯演算法的理論基礎.. 351

18.3.2 樸素貝葉斯分類.. 353

18.3.3 使用Python進行文字分類.. 355

18.4 程式設計的步驟.. 355

18.4.1 收集訓練資料.. 355

18.4.2 準備資料.. 356

18.4.3 分析資料.. 356

18.4.4 訓練演算法.. 357

18.4.5 測試演算法並改進.. 360

18.4.6 使用演算法進行文字分類.. 361

18.5 使用樸素貝葉斯分類演算法過濾垃圾郵件.. 362

18.5.1 收集訓練資料.. 362

18.5.2 將文字檔案解析為詞向量.. 362

18.5.3 使用樸素貝葉斯演算法進行郵件分類.. 364

18.5.4 改進演算法.. 366

18.6 使用Scikit-Learn庫進行文字分類.. 366

18.6.1 文字分類常用的類和函式.. 367

18.6.2 案例實現.. 370

第19章  深度學習案例——基於卷積神經網路的手寫體識別.. 372

19.1  手寫體識別案例需求.. 372

19.2  深度學習的概念及關鍵技術.. 372

19.2.1  神經網路模型.. 372

19.2.2  深度學習之卷積神經網路(CNN).. 373

19.3  Python深度學習庫——Keras 377

19.3.1 Keras安裝.. 377

19.3.2 Keras的網路層.. 378

19.3.3 用Keras構建神經網路.. 381

19.4  程式設計的思路.. 382

19.5  程式設計的步驟.. 383

19.5.1 MNIST資料集.. 383

19.5.2 手寫體識別案例實現.. 383

19.5.3 預測自己手寫影像.. 387

第20章  詞雲實戰——爬取豆瓣影評生成詞雲.. 389

20.1  功能介紹.. 389

20.2  程式設計的思路.. 389

20.3  關鍵技術.. 390

20.3.1  安裝WordCloud詞雲.. 390

20.3.2  使用WordCloud詞雲.. 391

20.4  程式設計的步驟.. 395

參考文獻   403

相關文章