python项目案例开发pdf-Python项目案例开发从入门到实战——爬虫、游戏
資料簡介:
本書以Python 3.5為編程環(huán)境,從基本的程序設(shè)計思想入手,逐步展開Python語言教學(xué),是一本面向廣大編程學(xué)習(xí)者的程序設(shè)計類圖書。本書以案例帶動知識點的講解,將Python知識點分解到各個不同的案例,每個案例各有側(cè)重點,同時展示實際項目的設(shè)計思想和設(shè)計理念,使讀者可以舉一反三。 本書案例具有實用性,例如校園網(wǎng)搜索引擎、小小翻譯器、抓取百度圖片這些爬蟲案例略加修改可以應(yīng)用到實際項目中;還有通過微信通信協(xié)議開發(fā)微信機(jī)器人、機(jī)器學(xué)習(xí)的文本分類、基于卷積神經(jīng)網(wǎng)絡(luò)的手寫體識別等案例;另外是一些大家耳熟能詳?shù)挠螒虬咐?#xff0c;例如連連看、推箱子、中國象棋、網(wǎng)絡(luò)五子棋、兩人麻將、人物拼圖和飛機(jī)大戰(zhàn)等游戲。通過本書,讀者將掌握Python編程技術(shù)和技巧,學(xué)會面向?qū)ο蟮脑O(shè)計方法,了解程序設(shè)計的所有相關(guān)內(nèi)容。本書不僅為讀者列出了完整的代碼,同時對所有的源代碼都進(jìn)行了非常詳細(xì)的解釋,通俗易懂、圖文并茂。掃描每章提供的二維碼可觀看知識點的視頻講解。 本書適用于Python語言學(xué)習(xí)者、程序設(shè)計人員和游戲編程愛好者。
資料目錄:
第1章 Python基礎(chǔ)知識 1
1.1 Python語言簡介 1
1.2 Python語法基礎(chǔ) 2
1.2.1 Python數(shù)據(jù)類型 2
1.2.2 序列數(shù)據(jù)結(jié)構(gòu) 4
1.2.3 Python控制語句 12
1.2.4 Python函數(shù)與模塊 18
1.3 Python面向?qū)ο笤O(shè)計 22
1.3.1 定義和使用類 22
1.3.2 構(gòu)造函數(shù) 23
1.3.3 析構(gòu)函數(shù) 24
1.3.4 實例屬性和類屬性 24
1.3.5 私有成員與公有成員 25
1.3.6 方法 26
1.3.7 類的繼承 27
1.3.8 多態(tài) 29
1.3.9 面向?qū)ο髴?yīng)用案例——撲克牌發(fā)牌程序 31
1.4 Python圖形界面設(shè)計 34
1.4.1 創(chuàng)建Windows窗口 35
1.4.2 幾何布局管理器 35
1.4.3 Tkinter組件 39
1.4.4 Tkinter字體 49
1.4.5 Python事件處理 51
1.4.6 圖形界面設(shè)計應(yīng)用案例——開發(fā)猜數(shù)字游戲 55
1.5 Python文件的使用 57
1.5.1 打開/建立文件 57
1.5.2 讀取文本文件 59
1.5.3 寫文本文件 60
1.5.4 文件內(nèi)移動 62
1.5.5 文件的關(guān)閉 63
1.5.6 二進(jìn)制文件的讀/寫 64
1.6 Python的第三方庫 66
第2章 序列應(yīng)用——猜單詞游戲 67
2.1 猜單詞游戲功能介紹 67
2.2 程序設(shè)計的思路 67
2.3 關(guān)鍵技術(shù)——random模塊 68
2.4 程序設(shè)計的步驟 71
第3章 數(shù)據(jù)庫應(yīng)用——智力問答測試 73
3.1 智力問答測試功能介紹 73
3.2 程序設(shè)計的思路 73
3.3 關(guān)鍵技術(shù) 74
3.3.1 訪問數(shù)據(jù)庫的步驟 74
3.3.2 創(chuàng)建數(shù)據(jù)庫和表 75
3.3.3 數(shù)據(jù)庫的插入、更新和刪除操作 76
3.3.4 數(shù)據(jù)庫表的查詢操作 77
3.3.5 數(shù)據(jù)庫使用實例——學(xué)生通訊錄 77
3.4 程序設(shè)計的步驟 80
3.4.1 生成試題庫 80
3.4.2 讀取試題信息 81
3.4.3 界面和邏輯設(shè)計 81
第4章 調(diào)用百度API應(yīng)用——小小翻譯器 83
4.1 小小翻譯器功能介紹 83
4.2 程序設(shè)計的思路 83
4.3 關(guān)鍵技術(shù) 84
4.3.1 urllib庫簡介 84
4.3.2 urllib庫的基本使用 84
4.4 程序設(shè)計的步驟 90
4.4.1 設(shè)計界面 90
4.4.2 使用百度翻譯開放平臺API 90
第5章 爬蟲應(yīng)用——校園網(wǎng)搜索引擎 95
5.1 校園網(wǎng)搜索引擎功能分析 95
5.2 校園網(wǎng)搜索引擎系統(tǒng)設(shè)計 95
5.3 關(guān)鍵技術(shù) 98
5.3.1 正則表達(dá)式 98
5.3.2 中文分詞 103
5.3.3 安裝和使用jieba 103
5.3.4 為jieba添加自定義詞典 104
5.3.5 文本分類的關(guān)鍵詞提取 105
5.3.6 deque 106
5.4 程序設(shè)計的步驟 107
5.4.1 信息采集模塊——網(wǎng)絡(luò)爬蟲的實現(xiàn) 107
5.4.2 索引模塊——建立倒排詞表 111
5.4.3 網(wǎng)頁排名和搜索模塊 113
第6章 爬蟲應(yīng)用——抓取百度圖片 116
6.1 程序功能介紹 116
6.2 程序設(shè)計的思路 116
6.3 關(guān)鍵技術(shù) 117
6.3.1 圖片文件下載到本地 117
6.3.2 爬取指定網(wǎng)頁中的圖片 117
6.3.3 BeautifulSoup庫概述 119
6.3.4 用BeautifulSoup庫操作解析HTML文檔樹 121
6.3.5 requests庫的使用 125
6.4 程序設(shè)計的步驟 133
6.4.1 分析網(wǎng)頁源代碼和網(wǎng)頁結(jié)構(gòu) 133
6.4.2 設(shè)計代碼 136
第7章 itchat應(yīng)用——微信機(jī)器人 139
7.1 itchat功能介紹 139
7.2 程序設(shè)計的思路 140
7.3 關(guān)鍵技術(shù) 140
7.3.1 安裝itchat 140
7.3.2 itchat的登錄微信 140
7.3.3 itchat的消息類型 141
7.3.4 itchat回復(fù)消息 143
7.3.5 itchat獲取賬號 145
7.3.6 itchat的一些簡單應(yīng)用 147
7.3.7 Python調(diào)用圖靈機(jī)器人API實現(xiàn)簡單的人機(jī)交互 150
7.4 程序設(shè)計的步驟 152
7.5 開發(fā)消息同步機(jī)器人 153
第8章 微信網(wǎng)頁版協(xié)議應(yīng)用——微信機(jī)器人 155
8.1 微信網(wǎng)頁版機(jī)器人功能介紹 155
8.2 微信網(wǎng)頁版機(jī)器人設(shè)計思路 155
8.2.1 分析微信網(wǎng)頁版API 155
8.2.2 API匯總 158
8.2.3 其他說明 164
8.3 程序設(shè)計的步驟 166
8.3.1 微信網(wǎng)頁版的運行流程 166
8.3.2 程序目錄 167
8.3.3 微信網(wǎng)頁版運行代碼的實現(xiàn) 167
8.4 擴(kuò)展功能 170
8.4.1 自動回復(fù) 170
8.4.2 群發(fā)消息、定時發(fā)送消息、好友狀態(tài)檢測 173
8.4.3 自動邀請好友加入群聊 175
第9章 圖像處理——生成二維碼和驗證碼 178
9.1 二維碼介紹 178
9.2 二維碼生成和解析關(guān)鍵技術(shù) 179
9.2.1 qrcode庫的使用 179
9.2.2 PIL庫的使用 182
9.3 二維碼生成和解析程序設(shè)計的步驟 184
9.3.1 生成帶有圖標(biāo)的二維碼 184
9.3.2 Python解析二維碼圖片 186
9.4 用Python生成驗證碼圖片 186
第10章 益智游戲——連連看游戲 189
10.1 連連看游戲介紹 189
10.2 程序設(shè)計的思路 190
10.3 關(guān)鍵技術(shù) 200
10.3.1 圖形繪制——Tinker的Canvas組件 200
10.3.2 Canvas上的圖形對象 200
10.4 程序設(shè)計的步驟 210
第11章 益智游戲——推箱子游戲 215
11.1 推箱子游戲介紹 215
11.2 程序設(shè)計的思路 216
11.3 關(guān)鍵技術(shù) 217
11.4 程序設(shè)計的步驟 218
第12章 娛樂游戲——兩人麻將游戲 224
12.1 麻將游戲介紹 224
12.1.1 麻將術(shù)語 224
12.1.2 牌數(shù) 224
12.2 兩人麻將游戲設(shè)計的思路 225
12.2.1 素材圖片 225
12.2.2 游戲的邏輯實現(xiàn) 226
12.2.3 碰/吃牌的判斷 226
12.2.4 和牌算法 227
12.2.5 實現(xiàn)計算機(jī)智能出牌 231
12.3 關(guān)鍵技術(shù) 233
12.3.1 聲音的播放 233
12.3.2 返回對應(yīng)位置的組件 233
12.3.3 對保存麻將牌的列表排序 234
12.4 兩人麻將游戲設(shè)計的步驟 235
12.4.1 設(shè)計麻將牌類 235
12.4.2 設(shè)計游戲主程序 237
第13章 網(wǎng)絡(luò)編程案例——基于TCP的在線聊天程序 247
13.1 基于TCP的在線聊天程序簡介 247
13.2 關(guān)鍵技術(shù) 247
13.2.1 互聯(lián)網(wǎng)TCP/IP協(xié)議 247
13.2.2 IP協(xié)議和端口 248
13.2.3 TCP協(xié)議和UDP協(xié)議 249
13.2.4 Socket 249
13.2.5 多線程編程 254
13.3 在線聊天程序設(shè)計的步驟 256
13.3.1 在線聊天程序的服務(wù)器端 256
13.3.2 在線聊天程序的客戶端 259
第14章 網(wǎng)絡(luò)通信案例——基于UDP的網(wǎng)絡(luò)五子棋
游戲 263
14.1 網(wǎng)絡(luò)五子棋游戲簡介 263
14.2 五子棋游戲的設(shè)計思想 264
14.3 關(guān)鍵技術(shù) 267
14.3.1 UDP編程 267
14.3.2 自定義網(wǎng)絡(luò)五子棋游戲的通信協(xié)議 269
14.4 網(wǎng)絡(luò)五子棋游戲程序設(shè)計的步驟 271
14.4.1 服務(wù)器端程序設(shè)計的步驟 271
14.4.2 客戶端程序設(shè)計的步驟 276
第15章 益智游戲——中國象棋 281
15.1 中國象棋介紹 281
15.2 關(guān)鍵技術(shù) 282
15.3 中國象棋的設(shè)計思路 284
15.4 中國象棋實現(xiàn)的步驟 287
第16章 娛樂游戲——人物拼圖游戲 297
16.1 人物拼圖游戲介紹 297
16.2 程序設(shè)計的思路 298
16.3 關(guān)鍵技術(shù) 298
16.3.1 復(fù)制和粘貼圖像區(qū)域 298
16.3.2 調(diào)整尺寸和旋轉(zhuǎn) 298
16.3.3 轉(zhuǎn)換成灰度圖像 299
16.3.4 對像素進(jìn)行操作 300
16.4 程序設(shè)計的步驟 300
16.4.1 Python處理圖片切割 300
16.4.2 游戲的邏輯實現(xiàn) 302
第17章 基于Pygame的游戲設(shè)計 306
17.1 Pygame基礎(chǔ)知識 306
17.1.1 安裝Pygame庫 306
17.1.2 Pygame的模塊 306
17.2 Pygame的使用 309
17.2.1 Pygame開發(fā)游戲的主要流程 309
17.2.2 Pygame的圖像/圖形繪制 311
17.2.3 Pygame的鍵盤和鼠標(biāo)事件的處理 314
17.2.4 Pygame的字體使用 319
17.2.5 Pygame的聲音播放 320
17.2.6 Pygame的精靈使用 321
17.3 基于Pygame設(shè)計貪吃蛇游戲 326
17.4 基于Pygame設(shè)計飛機(jī)大戰(zhàn)游戲 333
17.4.1 游戲角色 333
17.4.2 游戲界面顯示 336
17.4.3 游戲的邏輯實現(xiàn) 338
第18章 機(jī)器學(xué)習(xí)案例——基于樸素貝葉斯算法的
文本分類 343
18.1 文本分類功能介紹 343
18.2 程序設(shè)計的思路 343
18.3 關(guān)鍵技術(shù) 344
18.3.1 貝葉斯算法的理論基礎(chǔ) 344
18.3.2 樸素貝葉斯分類 346
18.3.3 使用Python進(jìn)行文本分類 348
18.4 程序設(shè)計的步驟 348
18.4.1 收集訓(xùn)練數(shù)據(jù) 348
18.4.2 準(zhǔn)備數(shù)據(jù) 349
18.4.3 分析數(shù)據(jù) 349
18.4.4 訓(xùn)練算法 350
18.4.5 測試算法并改進(jìn) 353
18.4.6 使用算法進(jìn)行文本分類 354
18.5 使用樸素貝葉斯分類算法過濾垃圾郵件 355
18.5.1 收集訓(xùn)練數(shù)據(jù) 355
18.5.2 將文本文件解析為詞向量 356
18.5.3 使用樸素貝葉斯算法進(jìn)行郵件分類 357
18.5.4 改進(jìn)算法 359
18.6 使用Scikit-Learn庫進(jìn)行文本分類 360
18.6.1 文本分類常用的類和函數(shù) 360
18.6.2 案例實現(xiàn) 363
第19章 深度學(xué)習(xí)案例——基于卷積神經(jīng)網(wǎng)絡(luò)的
手寫體識別 366
19.1 手寫體識別案例需求 366
19.2 深度學(xué)習(xí)的概念及關(guān)鍵技術(shù) 366
19.2.1 神經(jīng)網(wǎng)絡(luò)模型 366
19.2.2 深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò) 367
19.3 Python深度學(xué)習(xí)庫——Keras 372
19.3.1 Keras的安裝 372
19.3.2 Keras的網(wǎng)絡(luò)層 372
19.3.3 用Keras構(gòu)建神經(jīng)網(wǎng)絡(luò) 375
19.4 程序設(shè)計的思路 376
19.5 程序設(shè)計的步驟 377
19.5.1 MNIST數(shù)據(jù)集 377
19.5.2 手寫體識別案例實現(xiàn) 378
19.5.3 預(yù)測自己手寫圖像 382
第20章 詞云實戰(zhàn)——爬取豆瓣影評生成詞云 383
20.1 功能介紹 383
20.2 程序設(shè)計的思路 384
20.3 關(guān)鍵技術(shù) 385
20.3.1 安裝WordCloud 385
20.3.2 使用WordCloud 385
20.4 程序設(shè)計的步驟 389
參考文獻(xiàn) 397
總結(jié)
以上是生活随笔為你收集整理的python项目案例开发pdf-Python项目案例开发从入门到实战——爬虫、游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑蓝屏怎么解决?一键快速解决蓝屏问题
- 下一篇: 使用 iMacros 来自动化日常的工作