《案例學Python(基礎篇)》循序漸進地講解Python語言的基本語法知識,并通過大量的實例講解各個知識點的具體用法。本書分為4篇,共計14章。其中第1篇是準備開始篇,包括Python簡要介紹;第2篇是基礎語法篇,包括基本語法,Python的面向對象,文件操作,標準庫函數(shù),異常處理,多線程開發(fā);第3篇是典型應用篇,包括網(wǎng)絡開發(fā),Tkinter圖形化界面開發(fā),數(shù)據(jù)庫開發(fā),Django Web開發(fā),數(shù)據(jù)可視化;第4篇是項目實戰(zhàn)篇,通過兩個大型實例的實現(xiàn)過程,詳細講解使用Python語言開發(fā)大型商業(yè)項目的過程,這兩個項目是水果連連看游戲和人工智能版NBA季后賽預測分析系統(tǒng)。
《案例學Python(基礎篇)》適合初學Python的人員閱讀,也適合計算機相關專業(yè)的師生閱讀,還可供開發(fā)人員參考使用。
《案例學Python(進階篇)》循序漸進地講解了使用Python語言開發(fā)常見項目程序的知識,通過典型的項目實例講解了Python在實踐中的具體用法。本書共分16章,內容包括初級游戲項目實戰(zhàn)、Web網(wǎng)站開發(fā)實戰(zhàn)、數(shù)據(jù)可視化分析實戰(zhàn)、網(wǎng)絡爬蟲實戰(zhàn)、GUI桌面開發(fā)實戰(zhàn)、多媒體應用開發(fā)實戰(zhàn)、游戲項目開發(fā)實戰(zhàn)、辦公文件處理實戰(zhàn)、網(wǎng)絡應用開發(fā)實戰(zhàn)、圖像視覺處理實戰(zhàn)、機器學習實戰(zhàn)、AI智能問答系統(tǒng)、姿勢預測器、大型RPG類游戲仿《暗黑破壞神》、圖書商城系統(tǒng)、財經數(shù)據(jù)可視化分析系統(tǒng)。
《案例學Python(進階篇)》中的項目經典而全面,幾乎涵蓋了Python語言所有可以實現(xiàn)的項目,不但適合初學Python的人員閱讀,也適合計算機相關專業(yè)的師生閱讀,而且還可供有經驗的開發(fā)人員查閱和參考。
《案例學Python(基礎篇)》通過典型案例詳細介紹了Python的面向對象、文件操作、標準庫函數(shù)、異常處理,多線程開發(fā)等基礎內容,以及網(wǎng)絡開發(fā)、Tkinter圖形化界面開發(fā)、數(shù)據(jù)庫開發(fā)、Flask Web開發(fā)、Django Web開發(fā),數(shù)據(jù)可視化等應用。此外,還重點講解了2個項目開發(fā)案例,幫助讀者初步掌握Python開發(fā)基礎。
《案例學Python(進階篇)》通過典型的項目案例詳細講解了Python在實踐中的具體用法,案例涵蓋了Python語言應用的大部分領域,主要包括游戲開發(fā)、Web網(wǎng)站開發(fā)、數(shù)據(jù)可視化開發(fā)、網(wǎng)絡爬蟲開發(fā)、GUI桌面開發(fā)、多媒體開發(fā)、辦公自動化開發(fā)、圖像視覺開發(fā)、機器學習開發(fā)、深度學習開發(fā)等。
案例學Python(基礎篇)
隨著人工智能和大數(shù)據(jù)的蓬勃發(fā)展,Python將會得到越來越多開發(fā)者的喜愛和應用。身邊有很多朋友都開始使用Python語言進行開發(fā)。正是因為Python是一門如此受歡迎的編程語言,所以筆者精心地編寫了本書,希望讓更多的人能夠掌握這門優(yōu)秀的編程語言。
學習編程語言的正確選擇
想從事程序開發(fā)的初學者都需要一本適合自己的圖書來學習編程。筆者也是從初學者走過來的,因此十分理解廣大初學者的內心需求。當對自己的程序開發(fā)水平有了一定的信心之后,本著分享技術的理念,開始了本書的創(chuàng)作。本書涵蓋了Python基礎入門和案例實戰(zhàn)兩部分內容,對實戰(zhàn)知識不是點到為止地講解,而是深入地探討。采用紙質書 配套視頻資源 網(wǎng)絡答疑的形式,幫助初學者獲得基礎入門 實例練習 項目實戰(zhàn)的學習效果。通過本書的學習,將解決絕大多數(shù)初學者的學習困惑,使初學者能夠從零基礎邁入Python開發(fā)高手的行列。
本書特色
(1) 完全零基礎,門檻低。
為了使初學者能夠完全看懂本書的內容,本書遵循從入門到精通基礎類圖書的寫法,循序漸進地講解Python語言的基本知識。
(2) 案例有趣味性且實用,提高學習興趣。
本書中的每一個案例都富有趣味性且與現(xiàn)實生活息息相關,一改傳統(tǒng)編程書強迫灌輸式的講解方式,這樣可以提高初學者的學習興趣,在熟悉有趣的代碼中學會編程。
(3) 提供在線技術支持,消除初學者的痛點。
對于自學編程的人來說,最大的痛點是遇到問題時無人可問。在購買本書后,讀者將會得到本書創(chuàng)作團隊的技術支持,可以獲得一對一在線輔導服務,快速解決讀者在學習中遇到的問題。此外,我們還會定期開展視頻授課,讓讀者切身體會到與眾多志同道合的朋友一起學習編程,將會是一件非?鞓返氖虑椤
(4) 配套資源豐富,包含視頻、PPT、源碼。
書中每一章均提供了網(wǎng)絡視頻教學,這些視頻能夠幫助讀者快速入門,增強學習的信心,從而理解所學知識。讀者可通過掃描每章二級標題下的二維碼,獲取案例視頻資源,既可在線觀看也可以下載到本地隨時學習。此外,本書的配套學習資源中還提供了全書案例的源代碼,案例源代碼讀者可通過掃描下方的二維碼獲取。
本書讀者對象
初學編程的自學者 ? 編程愛好者
大中專院校的教師和學生 ? 相關培訓機構的教師和學員
畢業(yè)設計的學生 初級和中級程序開發(fā)人員
軟件測試人員 ? 實習中的初級程序員
在職程序員
致謝
在寫作本書的過程中得到了家人和朋友的鼓勵,十分感謝大家給予我的巨大支持。本書從開始寫作到最終出版,得到了清華大學出版社編輯的支持和輔助,在此一并表示感謝。由于作者水平有限,書中難免存在紕漏之處,誠請讀者提出意見或建議,以便修訂并使之更臻完善。感謝讀者購買本書,希望這本書能為讀者在編程路上領航,祝您閱讀快樂!
編 者
案例學Python(進階篇)
隨著人工智能和大數(shù)據(jù)的蓬勃發(fā)展,Python將會得到越來越多開發(fā)者的喜愛和應用。因為Python語法簡單,學習速度快,大家可以用更短的時間掌握這門語言。因此,身邊有很多朋友都開始使用Python語言進行開發(fā)。正是因為Python是一門如此受歡迎的編程語言,所以筆者精心編寫了本書,希望讓更多的人掌握這門優(yōu)秀的編程語言。2023年初,ChatGPT 4震驚全世界,其應用端建議使用Python語言進行開發(fā),Python語言的應用領域將會越來越廣。
本書特色
(1) 案例多而全面
書中案例豐富,幾乎涵蓋了Python語言開發(fā)的大部分領域,如:游戲開發(fā)、Web網(wǎng)站開發(fā)、數(shù)據(jù)可視化、網(wǎng)絡爬蟲、辦公自動化、GUI桌面開發(fā)、多媒體應用、圖像視覺、機器學習、深度學習等。
(2) 案例經典,講解細致
本書中的項目案例個個經典,詳細講解了每個案例的實現(xiàn)過程,讓讀者能夠看懂并掌握每一個知識點。
(3) 提供在線技術支持,解決自學者的痛點
對于自學編程的人來說,最大的痛點是遇到問題時無人可問。在購買本書后,讀者將會獲取本書創(chuàng)作團隊的技術支持,可以在線獲得一對一輔導服務,快速解答您在學習中遇到的問題。此外,我們還會定期進行視頻授課,讓您切身體會到和眾多志同道合的朋友們一起學習編程是一件快樂的事情。
(4) 配套資源豐富,包含視頻、PPT、源代碼
書中每一章均提供了網(wǎng)絡視頻教學,這些視頻能夠幫助初學者快速入門,增強學習的信心,從而快速理解所學知識。讀者可通過掃描每章二級標題下的二維碼,獲取案例視頻資源,既可在線觀看也可以下載到本地學習。此外,本書的配套學習資源中還提供了全書案例的源代碼,案例源代碼讀者可通過掃描下方的二維碼獲取。
本書讀者對象
初學編程的自學者 ? 編程愛好者
大、中專院校的教師和學生 ? 相關培訓機構的教師和學員
畢業(yè)設計的學生 初級和中級程序開發(fā)人員
軟件測試人員
致謝
在寫作本書的過程中得到了家人和朋友的鼓勵,十分感謝他們給予我的巨大支持。從開始寫作到最終出版,得到了清華大學出版社編輯的支持和輔導,正是在各位編輯的辛苦努力下才使得本書能夠出版。本人水平畢竟有限,書中難免存在疏漏之處,誠請讀者提出意見或建議,以便修訂并使之更臻完善。最后感謝讀者購買本書,希望本書能成為讀者編程路上的領航者,祝讀者閱讀快樂!
編 者
張曉博,哈爾濱工業(yè)大學計算機碩士,熱衷于人工智能、機器學習、Android開發(fā)和物聯(lián)網(wǎng)開發(fā),對AI項目的架構設計和實現(xiàn)原理有非常深刻的認識和理解,應用開發(fā)經驗也十分豐富。另外還十分精通Python、C、C 、Java、C#開發(fā)語言,熟悉軟件規(guī)劃、項目架構和項目推廣。近年來隨著AI和大數(shù)據(jù)業(yè)務的興起,深入研究了人工智能開發(fā)應用,并且基于Python的AI研發(fā)一直是最擅長的領域。
張學建,中國海洋大學計算機博士,資深軟件開發(fā)工程師和架構師,現(xiàn)在就職于北京百度研發(fā)中心,從事百度自動駕駛系統(tǒng)的架構和開發(fā)工作。曾經在谷歌市場中發(fā)布過多款著名的應用軟件,這些應用軟件在谷歌市場上取得了驕人的銷售戰(zhàn)績。 另外,還精通C#、Java、C 和C語言等主流編程語言。業(yè)余期間,曾經在國內主流期刊中發(fā)表過多篇通信領域的著名論文。
案例學Python(基礎篇)
第1章 Python簡要介紹 1
1.1 Python語言介紹 2
1.1.1 Python在TIOBE榜的排名 2
1.1.2 Python為什么這么火 2
1.2 安裝Python 3
1.2.1 選擇版本 3
1.2.2 在Windows系統(tǒng)中下載并安裝Python 3
1.2.3 安裝PyCharm 5
1.3 案例1:第一個Python程序石頭、剪刀、布游戲 9
1.3.1 功能介紹 9
1.3.2 具體實現(xiàn) 9
1.3.3 注釋 10
1.3.4 標識符和關鍵字 11
1.3.5 變量 11
1.3.6 輸入和輸出 12
1.3.7 使用IDLE運行程序 13
1.3.8 使用PyCharm運行Python程序 15
1.3.9 縮進 17
第2章 基本語法 19
2.1 字符串 20
2.1.1 案例1:統(tǒng)計某玄幻小說的點擊量 20
2.1.2 案例2:修改某網(wǎng)絡小說的名字 21
2.1.3 案例3:打印輸出老師對某學生的評價 22
2.1.4 案例4:查詢某小說主人公的基本信息 23
2.2 數(shù)字類型 24
2.2.1 案例5:查詢某變量屬于什么類型 24
2.2.2 案例6:查詢某小說的好評數(shù)量 26
2.3 運算符和表達式 27
2.3.1 案例7:計算某計算機專業(yè)學生的期末考試成績 28
2.3.2 案例8:某麥當勞餐廳的本月暢銷商品 29
2.3.3 案例9:貨物搬運計算器 30
2.3.4 案例10:輸出顯示某上市公司第四季度的營收金額 31
2.3.5 案例11:某店家的雙十一促銷活動 33
2.4 使用列表 34
2.4.1 案例12:輸出顯示某學生的出生年份 34
2.4.2 案例13:將某網(wǎng)店暢銷手機品牌中的華為修改為OPPO 35
2.4.3 案例14:修改購物車中的商品 35
2.5 元組 36
2.5.1 案例15:查詢某學生的信息 37
2.5.2 案例16:提取某平臺最暢銷商品和最不暢銷商品的銷量 38
2.6 字典 39
2.6.1 案例17:修改某學生的資料 39
2.6.2 案例18:遍歷輸出簡歷中的信息 40
2.7 條件語句 41
2.7.1 案例19:車票價格調查問卷系統(tǒng) 41
2.7.2 案例20:比較兩款同類商品的價格 43
2.7.3 案例21:判斷是否為酒后駕車 44
2.8 for循環(huán)語句 45
2.8.1 案例22:秒針計時器 46
2.8.2 案例23:獲取兩個整數(shù)之間的所有素數(shù) 47
2.9 while循環(huán)語句 48
2.9.1 案例24:制作國慶假期游玩攻略 49
2.9.2 案例25:智能電腦護眼系統(tǒng) 50
2.9.3 案例26:個稅計算器 51
2.10 函數(shù) 53
2.10.1 案例27:速運快遞稱重 系統(tǒng) 53
2.10.2 案例28:輸出兩名學生的 資料信息 55
2.10.3 案例29:根據(jù)身高和體重 計算BMI指數(shù) 56
2.10.4 案例30:計算年底應得的 獎金總額 58
第3章 Python的面向對象 61
3.1 類和對象 62
3.1.1 案例1:打印輸出某產品的說明書 62
3.1.2 案例2:查詢某富豪的財富有多少 63
3.2 類方法 64
3.2.1 案例3:查詢微信賬號昵稱和微信錢包中的余額 64
3.2.2 案例4:計算某商品的利潤 65
3.2.3 案例5:輸出顯示某游戲的萌寵信息 66
3.2.4 案例6:打印輸出某天貓旗艦店的信息 67
3.2.5 案例7:輸出顯示某公司的客戶類型和數(shù)量 68
3.2.6 案例8:提醒乘客地鐵即將進站 69
3.3 屬性 70
3.3.1 案例9:查詢郵政編碼 71
3.3.2 案例10:顯示某4S店新車的里程信息 72
3.3.3 案例11:修改某汽車里程表的數(shù)據(jù) 73
3.4 繼承 75
3.4.1 案例12:輸出顯示某款寶馬車的信息 75
3.4.2 案例13:打印輸出款535Li的發(fā)動機參數(shù) 76
3.4.3 案例14:實現(xiàn)多重繼承 78
3.4.4 案例15:模擬某款海戰(zhàn)游戲 81
3.5 模塊和包 82
3.5.1 案例16:顯示《三體2·黑暗森林》上部序章中的第一段內容 82
3.5.2 案例17:模擬某火車發(fā)布即將查票的通知 84
3.5.3 案例18:編寫一個故事 85
3.6 迭代器 86
3.6.1 案例19:輸出顯示某公司的客戶類型和數(shù)量 87
3.6.2 案例20:偽隨機抽獎系統(tǒng) 87
3.6.3 案例21:猜數(shù)游戲 89
3.7 生成器 90
3.7.1 案例22:模擬演示某代表團的金牌數(shù)量變化情況 90
3.7.2 案例23:模擬乘坐電梯下樓的過程 91
3.8 裝飾器 93
3.8.1 案例24:使用裝飾器裝飾帶參函數(shù) 93
3.8.2 案例25:顯示某酒店的坐標 94
第4章 文件操作 97
4.1 使用File操作文件 98
4.1.1 案例1:查看記事本文件重要學習文件的信息 98
4.1.2 案例2:打開或關閉文件8強名單.txt 101
4.1.3 案例3:打印輸出某專業(yè)的導師名單信息 101
4.1.4 案例4:讀取文件銷售數(shù)據(jù)中的部分內容 102
4.2 使用OS對象 103
4.2.1 案例5:查看是否有操作系統(tǒng)文件的權限 103
4.2.2 案例6:修改學習資料保存位置的工作路徑 105
4.2.3 案例7:修改文件數(shù)據(jù)庫下載地址的操作權限 105
4.2.4 案例8:向文件中寫入某綜藝節(jié)目的收視率 106
4.2.5 案例9:讀取文件財務預算計劃中的指定內容 108
4.2.6 案例10:創(chuàng)建一個名為迅雷電影的文件夾 109
4.3 其他文件操作模塊 110
4.3.1 案例11:讀取兩個文件中的內容 110
4.3.2 案例12:將記事本文件的名字保存到Excel文件中 111
第5章 標準庫函數(shù) 113
5.1 字符串處理函數(shù) 114
5.1.1 案例1:分解一封家書 114
5.1.2 案例2:分解市面上在售的iPhone手機型號名單 115
5.1.3 案例3:匹配處理順豐快遞中的發(fā)件人地址信息 116
5.1.4 案例4:檢索字符串中的信息 117
5.1.5 案例5:修改某個網(wǎng)址 118
5.1.6 案例6:過濾掉字符串中的敏感字符 119
5.2 數(shù)字處理函數(shù) 121
5.2.1 案例7:計算數(shù)字絕對值 121
5.2.2 案例8:計算一個數(shù)的次方結果 122
5.2.3 案例9:分別實現(xiàn)誤差運算和精確運算 123
5.2.4 案例10:實現(xiàn)二進制、八進制或十六進制數(shù)轉換 124
5.3 日期和時間函數(shù) 125
5.3.1 案例11:返回執(zhí)行當前程序的時間 126
5.3.2 案例12:制作一個2022年日歷 126
5.4 正則表達式 129
5.4.1 案例13:提取電話號碼 129
5.4.2 案例14:設置只能使用網(wǎng)易郵箱地址 130
第6章 異常處理 133
6.1 語法錯誤 134
6.1.1 案例1:找出程序的錯誤 134
6.1.2 案例2:縮進錯誤 134
6.2 異常處理 135
6.2.1 案例3:將某條新聞信息寫入指定文件中 135
6.2.2 案例4:解決不能打開文件頭條新聞.txt的異常 136
6.2.3 案例5:根據(jù)銷售額和銷售數(shù)量計算每個商品的單價 137
6.2.4 案例6:向指定文件中寫入內容 138
6.3 拋出異常 140
6.3.1 案例7:輸出顯示某電影的實時票房 140
6.3.2 案例8:對應聘者的要求是年齡在20到25歲之間 141
6.3.3 案例9:自定義一個異常類 142
第7章 多線程開發(fā) 145
7.1 使用threading模塊 146
7.1.1 案例1:分別計算1到5的平方和16到20的平方 146
7.1.2 案例2:模擬拍賣會競拍情況 147
7.1.3 案例3:黃蓉和老頑童捉迷藏游戲 149
7.1.4 案例4:運行4個線程 151
7.1.5 案例5:模擬運行一個軟件的過程 152
7.1.6 案例6:每隔一秒輸出顯示當前的時間 154
7.1.7 案例7:輸出顯示兩班航班在機場的降落順序 156
7.2 使用進程庫multiprocessing 156
7.2.1 案例8:使用Process對象創(chuàng)建進程 157
7.2.2 案例9:模擬某在線商城顧客與客服的對話 159
7.3 使用線程優(yōu)先級隊列模塊queue 160
7.3.1 案例10:某電商雙十一全球購物盛典倒計時 160
7.3.2 案例11:直播田徑賽場百米飛人大戰(zhàn) 162
第8章 網(wǎng)絡開發(fā) 165
8.1 Socket套接字編程 166
8.1.1 案例1:創(chuàng)建一個Socket服務器端和客戶端 166
8.1.2 案例2:搭建一個TCP簡易聊天程序 169
8.1.3 案例3:搭建一個UDP簡易聊天程序 171
8.2 socketserver編程 173
8.2.1 案例4:模擬同學E和同學F的網(wǎng)絡對話 173
8.2.2 案例5:在線機器人客服系統(tǒng) 176
8.3 使用select模塊實現(xiàn)多路I/O復用 177
8.3.1 案例6:同時監(jiān)聽電腦中的多個網(wǎng)絡端口 177
8.3.2 案例7:連接服務器并實現(xiàn)與服務器端管理員的對話 179
8.4 使用包urllib 181
8.4.1 案例8:爬取某個網(wǎng)頁中的圖片文件 181
8.4.2 案例9:實現(xiàn)HTTP身份驗證 184
8.5 使用http包 186
8.5.1 案例10:訪問百度主頁 186
8.5.2 案例11:獲取指定URL地址網(wǎng)頁的數(shù)據(jù) 188
8.6 收發(fā)電子郵件 190
8.6.1 案例12:獲取指定郵箱中的兩封最新郵件的主題和發(fā)件人信息 190
8.6.2 案例13:發(fā)送一封郵件 192
第9章 Tkinter圖形化界面開發(fā) 195
9.1 tkinter開發(fā)基礎 196
9.1.1 案例1:創(chuàng)建第一個tkinter程序 196
9.1.2 案例2:確定是否購買購物車中的商品 197
9.2 tkinter組件開發(fā) 199
9.2.1 案例3:輸出顯示阿里旗下的四大品牌 199
9.2.2 案例4:簡易購物程序 201
9.2.3 案例5:簡易文本編輯器 203
9.2.4 案例6:模擬記事本編輯器 205
9.2.5 案例7:在窗體中顯示4個電商平臺的名字 206
9.2.6 案例8:問卷調查系統(tǒng) 208
9.3 庫tkinter的事件 211
9.3.1 案例9:英尺/米轉換器 211
9.3.2 案例10:為某商城設計一個購買按鈕 214
第10章 數(shù)據(jù)庫開發(fā) 217
10.1 操作SQLite3數(shù)據(jù)庫 218
10.1.1 案例1:使用方法cursor.execute() 執(zhí)行SQL語句 218
10.1.2 案例2:在SQLite3數(shù)據(jù)庫中 添加、刪除、修改數(shù)據(jù)信息 219
10.1.3 案例3:將自定義類Point 適配SQLite3數(shù)據(jù)庫 222
10.2 操作MySQL數(shù)據(jù)庫 223
10.2.1 案例4:輸出顯示MySQL 數(shù)據(jù)庫的版本號 224
10.2.2 案例5:在MySQL數(shù)據(jù)庫中 創(chuàng)建一個新表 225
10.2.3 案例6:向MySQL數(shù)據(jù)庫中 添加新的數(shù)據(jù) 226
10.2.4 案例7:查詢數(shù)據(jù)庫中的員工 信息 227
10.2.5 案例8:更新數(shù)據(jù)庫中的 信息 229
10.2.6 案例9:刪除數(shù)據(jù)庫中的指定 信息 230
10.3 使用MariaDB數(shù)據(jù)庫 231
10.3.1 案例10:實現(xiàn)數(shù)據(jù)的插入、 更新和刪除操作 231
10.3.2 案例11:使用MariaDB 創(chuàng)建MySQL數(shù)據(jù)庫 233
10.4 使用MongoDB數(shù)據(jù)庫 235
10.4.1 案例12:使用pymongo 操作MongoDB數(shù)據(jù)庫 235
10.4.2 案例13:使用mongoengine 操作MongoDB數(shù)據(jù)庫 238
10.5 使用ORM操作數(shù)據(jù)庫 241
10.5.1 案例14:使用SQLAlchemy 操作兩種數(shù)據(jù)庫 241
10.5.2 案例15:使用Peewee 操作SQLite數(shù)據(jù)庫 246
10.5.3 案例16:使用Pony創(chuàng)建 一個SQLite數(shù)據(jù)庫 247
第11章 Django Web開發(fā) 249
11.1 Django Web初級實戰(zhàn) 250
11.1.1 案例1:第一個Django Web 程序 250
11.1.2 案例2:加法計算器 253
11.1.3 案例3:創(chuàng)建SQLite3 數(shù)據(jù)庫 256
11.2 Django Web高級實戰(zhàn) 258
11.2.1 案例4:在線博客系統(tǒng) 258
11.2.2 案例5:開發(fā)一個在線商城 系統(tǒng) 265
第12章 數(shù)據(jù)可視化 283
12.1 使用Matplotlib 284
12.1.1 案例1:繪制點 284
12.1.2 案例2:自定義散點 圖樣式 285
12.1.3 案例3:繪制折線圖 287
12.1.4 案例4:繪制柱狀圖 288
12.1.5 案例5:繪制曲線圖 291
12.1.6 案例6:繪制隨機漫步圖 293
12.1.7 案例7:大數(shù)據(jù)分析某年最高 溫度和最低溫度 296
12.2 使用pygal 298
12.2.1 案例8:繪制直方圖 298
12.2.2 案例9:繪制XY線圖 299
12.2.3 案例10:繪制餅狀圖 300
12.2.4 案例11:模擬擲骰子 游戲 301
12.2.5 案例12:可視化分析前30名 GitHub最受歡迎的Python庫 303
第13章 水果連連看游戲 309
13.1 游戲介紹 310
13.2 架構分析 310
13.2.1 分析游戲規(guī)則 310
13.2.2 功能模塊 311
13.3 具體編碼 312
13.3.1 設計HUD 312
13.3.2 監(jiān)聽鼠標的移動 314
13.3.3 顯示視圖 315
13.3.4 游戲菜單 316
13.4 實現(xiàn)游戲邏輯 317
13.4.1 設置系統(tǒng)參數(shù) 317
13.4.2 視圖初始化 318
13.4.3 開始游戲的下一關 318
13.4.4 倒計時 319
13.4.5 設置隨機顯示的水果 319
13.4.6 碰撞檢測處理 320
13.4.7 進度條 325
13.4.8 主程序 325
第14章 人工智能版NBA季后賽預測分析系統(tǒng) 327
14.1 NBA賽制介紹 328
14.2 項目介紹 328
14.3 機器學習和數(shù)據(jù)可視化 328
14.3.1 預處理數(shù)據(jù) 329
14.3.2 創(chuàng)建繪圖函數(shù) 330
14.3.3 數(shù)據(jù)集分解 333
14.3.4 繪制統(tǒng)計分布圖 335
14.3.5 比較季后賽和非季后賽球隊的技術統(tǒng)計數(shù)據(jù) 340
14.3.6 創(chuàng)建模型 341
14.3.7 優(yōu)化模型 345
14.3.8 樣本預測 351
案例學Python(進階篇)
第1章 初級游戲項目實戰(zhàn) 1
1.1 猜數(shù)游戲 2
1.1.1 使用條件語句 2
1.1.2 使用for循環(huán)語句 2
1.1.3 具體實現(xiàn) 3
1.2 龍的世界 4
1.2.1 使用while循環(huán)語句 4
1.2.2 使用函數(shù) 5
1.2.3 實現(xiàn)《龍的世界》游戲 6
1.3 黑白棋游戲 7
1.3.1 笛卡爾坐標系 7
1.3.2 實例介紹 9
1.3.3 具體實現(xiàn) 9
1.4 益智類游戲:俄羅斯方塊 15
1.4.1 規(guī)劃需要的圖形 15
1.4.2 具體實現(xiàn) 15
第2章 Web網(wǎng)站開發(fā)實戰(zhàn) 23
2.1 會員登錄驗證系統(tǒng) 24
2.1.1 簡易用戶登錄驗證系統(tǒng) 24
2.1.2 使用模塊auth實現(xiàn)登錄驗證系統(tǒng) 27
2.1.3 使用百度賬戶實現(xiàn)用戶登錄系統(tǒng) 32
2.2 博客發(fā)布系統(tǒng) 37
2.2.1 系統(tǒng)設置 37
2.2.2 會員注冊和登錄驗證模塊 38
2.2.3 博客發(fā)布模塊 42
第3章 數(shù)據(jù)可視化分析實戰(zhàn) 45
3.1 可視化分析SQLite中的數(shù)據(jù) 46
3.1.1 創(chuàng)建數(shù)據(jù)庫 46
3.1.2 繪制統(tǒng)計圖 47
3.2 可視化統(tǒng)計顯示某網(wǎng)店各類口罩的銷量 49
3.2.1 準備CSV文件 49
3.2.2 可視化CSV文件中的數(shù)據(jù) 50
3.3 數(shù)據(jù)挖掘:可視化處理文本情感分析數(shù)據(jù) 51
3.3.1 準備CSV文件 51
3.3.2 可視化兩個劇本的情感分析數(shù)據(jù) 52
3.4 使用熱力圖可視化展示某城市的房價信息 55
3.4.1 準備數(shù)據(jù) 56
3.4.2 使用熱力圖可視化展示信息 56
3.5 Scikit-Learn聚類分析并可視化處理 59
3.5.1 準備餅狀圖 59
3.5.2 聚類處理 59
3.5.3 生成統(tǒng)計柱狀圖 60
3.6 將Excel文件中的地址信息可視化為交通熱力圖 61
3.6.1 將地址轉換為JS格式 61
3.6.2 將JS地址轉換為坐標 62
3.6.3 在地圖中顯示地址的熱力信息 64
第4章 網(wǎng)絡爬蟲實戰(zhàn) 65
4.1 繪制比特幣和以太幣的價格走勢圖 66
4.1.1 抓取數(shù)據(jù) 66
4.1.2 繪制BTC/美元價格曲線 66
4.1.3 繪制BTC和ETH的歷史價格曲線圖 67
4.2 熱門電影信息數(shù)據(jù)可視化 68
4.2.1 創(chuàng)建MySQL數(shù)據(jù)庫 69
4.2.2 抓取并分析電影數(shù)據(jù) 71
4.3 桌面壁紙抓取系統(tǒng) 74
4.3.1 創(chuàng)建項目 74
4.3.2 系統(tǒng)設置 74
4.3.3 創(chuàng)建數(shù)據(jù)庫 74
4.3.4 聲明需要格式化的字段 77
4.3.5 實現(xiàn)保存功能的類 77
4.3.6 實現(xiàn)具體的爬蟲 79
第5章 GUI桌面開發(fā)實戰(zhàn) 83
5.1 創(chuàng)建一個英尺/米轉換器 84
5.1.1 具體實現(xiàn) 84
5.1.2 代碼解析 85
5.2 制作一個交通標記指示牌 86
5.2.1 實例介紹 86
5.2.2 具體實現(xiàn) 86
5.3 GUI版的Minecraft游戲 88
5.3.1 項目規(guī)劃 88
5.3.2 具體實現(xiàn) 89
5.4 圖書管理系統(tǒng) 95
5.4.1 數(shù)據(jù)庫操作 95
5.4.2 GUI實現(xiàn) 96
第6章 多媒體應用開發(fā)實戰(zhàn) 99
6.1 簡易播放器 100
6.1.1 使用模塊audioop播放指定的音樂 100
6.1.2 使用模塊wave讀取和寫入WAV文件 102
6.2 三款音樂播放器 103
6.2.1 基于模塊tkinter開發(fā)的音樂播放器 103
6.2.2 開發(fā)網(wǎng)易云音樂播放器 105
6.2.3 開發(fā)一個MP3播放器 109
6.3 多媒體剪輯 114
6.3.1 MP3文件編輯器 114
6.3.2 批量設置視頻文件的封面圖片 121
第7章 游戲項目開發(fā)實戰(zhàn) 129
7.1 貪吃蛇游戲 130
7.1.1 普通版的貪吃蛇游戲 130
7.1.2 AI版的貪吃蛇游戲 134
7.1.3 Cocos2d-Python版本的貪吃蛇游戲 138
7.2 使用Panda3D開發(fā)3D游戲 142
7.2.1 迷宮中的小球游戲 142
7.2.2 飛船大作戰(zhàn)游戲 146
第8章 辦公文件處理實戰(zhàn) 149
8.1 處理Office文件 150
8.1.1 使用模塊openpyxl讀取Excel文件 150
8.1.2 在指定Excel文件中檢索某關鍵字 152
8.1.3 將數(shù)據(jù)導入Excel文件并生成圖表 153
8.1.4 獲取Excel文件中的數(shù)據(jù)信息 154
8.1.5 將數(shù)據(jù)分別導入到Excel文件和SQLite數(shù)據(jù)庫 156
8.1.6 創(chuàng)建一個Word文檔 157
8.1.7 向Word文檔中插入指定樣式的段落 157
8.1.8 獲取Word文檔中的文本樣式名稱和每個樣式的文字數(shù)目 159
8.1.9 獲取Word文檔中表格的內容 159
8.1.10 創(chuàng)建Word表格并合并 里面的單元格 160
8.1.11 自定義Word文件的樣式 161
8.1.12 設置Excel表格的樣式 162
8.1.13 向Excel文件中插入圖像 164
8.1.14 向Excel文件中插入數(shù)據(jù) 并繪制柱狀圖 165
8.1.15 向Excel文件中插入數(shù)據(jù) 并繪制散點圖 167
8.1.16 向Excel文件中插入數(shù)據(jù) 并繪制柱狀圖和餅狀圖 168
8.2 PDF文件處理實戰(zhàn) 170
8.2.1 將PDF文件中的內容轉換為TEXT文本 171
8.2.2 解析某個在線PDF文件的內容 173
8.2.3 將兩個PDF文件合并為一個PDF文件 176
8.2.4 分別在PDF文件和PNG文件中繪制餅狀圖 177
8.2.5 在PDF文件中分別生成條形圖和二維碼 178
第9章 網(wǎng)絡應用開發(fā)實戰(zhàn) 181
9.1 收發(fā)電子郵件 182
9.1.1 獲取郵箱中最新兩封郵件的主題和發(fā)件人 182
9.1.2 向指定郵箱發(fā)送郵件 183
9.1.3 發(fā)送帶附件功能的郵件 184
9.1.4 Web版郵件發(fā)送系統(tǒng) 185
9.2 網(wǎng)頁計數(shù)器 187
9.2.1 使用數(shù)據(jù)庫保存統(tǒng)計數(shù)據(jù) 187
9.2.2 使用第三方庫實現(xiàn)訪問計數(shù)器 190
9.3 Ajax上傳和下載系統(tǒng) 195
9.3.1 實現(xiàn)文件上傳功能 195
9.3.2 實現(xiàn)文件下載功能 200
第10章 圖像視覺處理實戰(zhàn) 203
10.1 智能車牌識別系統(tǒng) 204
10.1.1 系統(tǒng)介紹 204
10.1.2 通用程序 204
10.1.3 主程序 208
10.2 人臉檢測系統(tǒng) 210
10.2.1 檢測人臉眼睛的狀態(tài) 210
10.2.2 模糊處理人臉 211
10.2.3 檢測兩張臉是否匹配 213
10.2.4 識別視頻中的人臉 214
10.2.5 網(wǎng)頁版人臉識別器 216
10.3 Scikit-Learn和人臉識別 217
10.3.1 SVM算法人臉識別 217
10.3.2 KNN算法人臉識別 218
第11章 機器學習實戰(zhàn) 223
11.1 汽車油耗預測實戰(zhàn)(使用神經網(wǎng)絡實現(xiàn)分類) 224
11.1.1 準備數(shù)據(jù) 224
11.1.2 創(chuàng)建網(wǎng)絡模型 227
11.1.3 訓練和測試模型 228
11.2 圖像分類器 230
11.2.1 準備數(shù)據(jù)集 230
11.2.2 創(chuàng)建數(shù)據(jù)集 231
11.2.3 配置數(shù)據(jù)集 233
11.2.4 創(chuàng)建模型 234
11.2.5 編譯模型 234
11.2.6 訓練模型 235
11.2.7 可視化訓練結果 235
11.2.8 過擬合處理:數(shù)據(jù)增強 236
11.2.9 過擬合處理:將Dropout引入網(wǎng)絡 237
11.2.10 重新編譯和訓練模型 238
11.2.11 預測新數(shù)據(jù) 241
11.3 智能翻譯系統(tǒng) 242
11.3.1 下載和準備數(shù)據(jù)集 242
11.3.2 創(chuàng)建數(shù)據(jù)集 245
11.3.3 編寫編碼器(encoder)和解碼器(decoder)模型 246
11.3.4 訓練 249
11.3.5 翻譯 252
第12章 綜合實戰(zhàn):AI智能問答系統(tǒng) 255
12.1 技術架構介紹 256
12.1.1 TensorFlow.js 256
12.1.2 SQuAD 2.0 259
12.1.3 BERT 260
12.1.4 知識蒸餾 260
12.2 具體實現(xiàn) 263
12.2.1 編寫HTML文件 263
12.2.2 腳本處理 264
12.2.3 加載訓練模型 264
12.2.4 查詢處理 264
12.2.5 文章處理 266
12.2.6 加載處理 266
12.2.7 尋找答案 267
12.2.8 提取最佳答案 268
12.2.9 將答案轉換為文本 269
12.3 運行調試 270
第13章 綜合實戰(zhàn):姿勢預測器 273
13.1 系統(tǒng)介紹 274
13.2 準備模型 274
13.2.1 身體部位監(jiān)測點說明 275
13.2.2 導入TensorFlow Lite模型 275
13.3 Android姿勢預測器 276
13.3.1 準備工作 276
13.3.2 頁面布局 278
13.3.3 實現(xiàn)主Activity 278
13.3.4 圖像處理 280
13.3.5 姿勢識別 282
第14章 綜合實戰(zhàn):大型RPG游戲仿《暗黑破壞神》 285
14.1 RPG和《暗黑破壞神》介紹 286
14.1.1 RPG簡介 286
14.1.2 《暗黑破壞神》系列游戲簡介 286
14.2 項目介紹 287
14.2.1 游戲特色 287
14.2.2 模塊劃分 288
14.3 數(shù)據(jù)模塊 288
14.3.1 Item數(shù)據(jù) 289
14.3.2 Enemy數(shù)據(jù) 290
14.3.3 Attack數(shù)據(jù) 291
14.3.4 Skill數(shù)據(jù) 291
14.3.5 玩家處理 292
14.4 系統(tǒng)主程序 297
第15章 綜合實戰(zhàn):圖書商城系統(tǒng) 305
15.1 功能需求分析 306
15.2 準備工作 307
15.2.1 用到的庫 307
15.2.2 準備Vue環(huán)境 308
15.2.3 創(chuàng)建應用 308
15.2.4 系統(tǒng)配置 309
15.3 設計數(shù)據(jù)庫 312
15.3.1 為users應用創(chuàng)建Model 模型 312
15.3.2 為goods應用創(chuàng)建Model 模型 314
15.3.3 為trade應用創(chuàng)建Model 模型 318
15.3.4 為user_operation應用創(chuàng)建Model模型 320
15.3.5 生成數(shù)據(jù)庫表 322
15.4 使用Restful API 322
15.4.1 商品列表序列化 323
15.4.2 在前端展示左側分類、排序、商品列表和分頁 330
15.5 登錄認證 332
15.5.1 使用DRF Token認證 332
15.5.2 使用JWT認證 334
15.5.3 微博賬戶登錄 337
15.5.4 social-app-django集成第三方登錄 341
15.6 支付寶支付 344
15.6.1 配置支付寶的沙箱環(huán)境 344
15.6.2 編寫程序 347
15.7 測試程序 355
第16章 綜合實戰(zhàn):財經數(shù)據(jù)可視化分析系統(tǒng) 359
16.1 爬取股票實時漲幅榜信息 360
16.1.1 準備Selenium環(huán)境 360
16.1.2 爬取數(shù)據(jù) 360
16.1.3 獲取指定股票所屬行業(yè) 信息 362
16.1.4 獲取漲幅榜和跌幅榜信息 362
16.1.5 保存漲幅榜前10名和跌幅榜 前10名股票數(shù)據(jù)到Excel文件 364
16.2 AI選股系統(tǒng) 366
16.2.1 準備TuShare 366
16.2.2 跟蹤熱點板塊 366
16.2.3 數(shù)據(jù)建模和評估分析 378