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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章