Python項目案例開發從入門到實戰——爬蟲、游戲和機器學習 ( 簡體 字) |
作者:鄭秋生、夏敏捷、宋寶衛、李娟 | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 50499 詢問書籍請說出此書號!【缺書】 NT售價: 400 元 |
出版日:1/1/2019 |
頁數:394 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302459705 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: Python語言從20世紀90年代初誕生至今,逐漸被廣泛應用于處理系統管理任務和科學計算,是最受歡迎的程序設計語言之一。 學習編程是工程專業學生學習的重要部分,除了直接應用外,學習編程是了解計算機科學本質的方法。計算機科學對現代社會產生了毋庸置疑的影響。Python是新興的程序設計語言,是一種解釋型、面向對象、動態數據類型的高級程序設計語言。由于Python語言簡潔、易讀并且可擴展,在國外用Python做科學計算的研究機構日益增多,最近幾年其社會需求逐漸增加,許多國內高校紛紛開設Python程序設計課程。本書編者長期從事程序設計語言的教學與應用開發,了解在學習編程的時候什么樣的書能夠提高Python開發能力,以最少的時間投入得到最快的實際應用。 本書內容: 第1章是Python基礎知識,主要講解Python的基礎語法和面向對象編程基礎、圖形界面設計、Python文件的使用、Python的第三方庫等知識,讀者可以輕松掌握。 從第2章開始是實用項目案例開發,綜合應用前面所學的知識,并且每章都有突出的新知識點,例如側重數據庫應用的案例“智力問答測試”、應用爬蟲技術開發的案例“校園網搜索引擎”、應用itchat開發的案例“微信機器人”、機器學習案例“基于樸素貝葉斯算法的文本分類”、深度學習案例“基于卷積神經網絡的手寫體識別”等,還有經典的、大家耳熟能詳的游戲案例,例如連連看、推箱子、中國象棋、兩人麻將、人物拼圖、網絡五子棋、飛機大戰等。 本書特點: (1)Python程序設計涉及的范圍非常廣泛,本書內容的編排并不求全、求深,而是考慮零基礎讀者的接受能力,語言的語法介紹以夠用、實用為原則,選擇Python中必備、實用的知識進行講解,強化對程序思維能力的培養。 (2)案例選取貼近生活,有助于提高讀者的學習興趣。 (3)書中每個案例均提供了詳細的設計思路、關鍵技術分析以及具體的解決方案。 需要說明的是,學習編程是一個實踐的過程,而不僅僅是看書、看資料,親自動手編寫、調試程序才是至關重要的。通過實際的編程和積極的思考,讀者可以很快地掌握許多寶貴的編程經驗,這種編程經驗對開發者來說尤其不可或缺。 本書由鄭秋生和夏敏捷(中原工學院)主持編寫,吳婷(中原工學院)編寫第6章,韓云飛(中原工學院)編寫第8章,周延萍編寫第9、10章,宋寶衛(鄭州輕工業學院)編寫第11∼15章,陳海蕊(中原工學院)編寫第16、17章,高艷霞(中原工學院)編寫第18章,李娟(中原工學院)編寫第19章,鄭秋生編寫第20章,其余章節由夏敏捷編寫。在本書的編寫過程中,為確保內容的正確性,參閱了很多資料,并且得到了中原工學院的教材資助和資深Python程序員的支持,在此謹向他們表示衷心的感謝。本書的學習資源可以掃描封底課件二維碼獲取。由于編者水平有限,書中難免有不足之處,敬請廣大讀者批評指正,在此表示感謝。 編 者 2018年9月 |
內容簡介:本書以Python 3.5為編程環境,從基本的程序設計思想入手,逐步展開Python語言教學,是一本面向廣大編程學習者的程序設計類圖書。本書以案例帶動知識點的講解,將Python知識點分解到各個不同的案例,每個案例各有側重點,同時展示實際項目的設計思想和設計理念,使讀者可以舉一反三。 本書案例具有實用性,例如校園網搜索引擎、小小翻譯器、抓取百度圖片這些爬蟲案例略加修改可以應用到實際項目中;還有通過微信通信協議開發微信機器人、機器學習的文本分類、基于卷積神經網絡的手寫體識別等案例;另外是一些大家耳熟能詳的游戲案例,例如連連看、推箱子、中國象棋、網絡五子棋、兩人麻將、人物拼圖和飛機大戰等游戲。通過本書,讀者將掌握Python編程技術和技巧,學會面向對象的設計方法,了解程序設計的所有相關內容。本書不僅為讀者列出了完整的代碼,同時對所有的源代碼都進行了非常詳細的解釋,通俗易懂、圖文并茂。掃描每章提供的二維碼可觀看知識點的視頻講解。 本書適用于Python語言學習者、程序設計人員和游戲編程愛好者。 |
目錄:第1章Python基礎知識 1 1.1Python語言簡介 1 1.2Python語法基礎 2 1.2.1Python數據類型 2 1.2.2序列數據結構 4 1.2.3Python控制語句 12 1.2.4Python函數與模塊 18 1.3Python面向對象設計 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.4Python圖形界面設計 34 1.4.1創建Windows窗口 35 1.4.2幾何布局管理器 35 1.4.3Tkinter組件 39 1.4.4Tkinter字體 49 1.4.5Python事件處理 51 1.4.6圖形界面設計應用案例——開發猜數字游戲 55 1.5Python文件的使用 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.6Python的第三方庫 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.1urllib庫簡介 84 4.3.2urllib庫的基本使用 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.6deque 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.3BeautifulSoup庫概述 119 6.3.4用BeautifulSoup庫操作解析HTML文檔樹 121 6.3.5requests庫的使用 125 6.4程序設計的步驟 133 6.4.1分析網頁源代碼和網頁結構 133 6.4.2設計代碼 136 第7章itchat應用——微信機器人 139 7.1itchat功能介紹 139 7.2程序設計的思路 140 7.3關鍵技術 140 7.3.1安裝itchat 140 7.3.2itchat的登錄微信 140 7.3.3itchat的消息類型 141 7.3.4itchat回復消息 143 7.3.5itchat獲取賬號 145 7.3.6itchat的一些簡單應用 147 7.3.7Python調用圖靈機器人API實現簡單的人機交互 150 7.4程序設計的步驟 152 7.5開發消息同步機器人 153 第8章微信網頁版協議應用——微信機器人 155 8.1微信網頁版機器人功能介紹 155 8.2微信網頁版機器人設計思路 155 8.2.1分析微信網頁版API 155 8.2.2API匯總 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.1qrcode庫的使用 179 9.2.2PIL庫的使用 182 9.3二維碼生成和解析程序設計的步驟 184 9.3.1生成帶有圖標的二維碼 184 9.3.2Python解析二維碼圖片 186 9.4用Python生成驗證碼圖片 186 第10章益智游戲——連連看游戲 189 10.1連連看游戲介紹 189 10.2程序設計的思路 190 10.3關鍵技術 200 10.3.1圖形繪制——Tinker的Canvas組件 200 10.3.2Canvas上的圖形對象 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.2IP協議和端口 248 13.2.3TCP協議和UDP協議 249 13.2.4Socket 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.1UDP編程 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.1Python處理圖片切割 300 16.4.2游戲的邏輯實現 302 第17章基于Pygame的游戲設計 306 17.1Pygame基礎知識 306 17.1.1安裝Pygame庫 306 17.1.2Pygame的模塊 306 17.2Pygame的使用 309 17.2.1Pygame開發游戲的主要流程 309 17.2.2Pygame的圖像/圖形繪制 311 17.2.3Pygame的鍵盤和鼠標事件的處理 314 17.2.4Pygame的字體使用 319 17.2.5Pygame的聲音播放 320 17.2.6Pygame的精靈使用 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.3Python深度學習庫——Keras 372 19.3.1Keras的安裝 372 19.3.2Keras的網絡層 372 19.3.3用Keras構建神經網絡 375 19.4程序設計的思路 376 19.5程序設計的步驟 377 19.5.1MNIST數據集 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 |
序: |