《案例學(xué)Python(基礎(chǔ)篇)》循序漸進(jìn)地講解Python語(yǔ)言的基本語(yǔ)法知識(shí),并通過(guò)大量的實(shí)例講解各個(gè)知識(shí)點(diǎn)的具體用法。本書分為4篇,共計(jì)14章。其中第1篇是準(zhǔn)備開(kāi)始篇,包括Python簡(jiǎn)要介紹;第2篇是基礎(chǔ)語(yǔ)法篇,包括基本語(yǔ)法,Python的面向?qū)ο螅募僮,?biāo)準(zhǔn)庫(kù)函數(shù),異常處理,多線程開(kāi)發(fā);第3篇是典型應(yīng)用篇,包括網(wǎng)絡(luò)開(kāi)發(fā),Tkinter圖形化界面開(kāi)發(fā),數(shù)據(jù)庫(kù)開(kāi)發(fā),Django Web開(kāi)發(fā),數(shù)據(jù)可視化;第4篇是項(xiàng)目實(shí)戰(zhàn)篇,通過(guò)兩個(gè)大型實(shí)例的實(shí)現(xiàn)過(guò)程,詳細(xì)講解使用Python語(yǔ)言開(kāi)發(fā)大型商業(yè)項(xiàng)目的過(guò)程,這兩個(gè)項(xiàng)目是水果連連看游戲和人工智能版NBA季后賽預(yù)測(cè)分析系統(tǒng)。
《案例學(xué)Python(基礎(chǔ)篇)》適合初學(xué)Python的人員閱讀,也適合計(jì)算機(jī)相關(guān)專業(yè)的師生閱讀,還可供開(kāi)發(fā)人員參考使用。
《案例學(xué)Python(基礎(chǔ)篇)》通過(guò)典型案例詳細(xì)介紹了Python的面向?qū)ο、文件操作、?biāo)準(zhǔn)庫(kù)函數(shù)、異常處理,多線程開(kāi)發(fā)等基礎(chǔ)內(nèi)容,以及網(wǎng)絡(luò)開(kāi)發(fā)、Tkinter圖形化界面開(kāi)發(fā)、數(shù)據(jù)庫(kù)開(kāi)發(fā)、Flask Web開(kāi)發(fā)、Django Web開(kāi)發(fā),數(shù)據(jù)可視化等應(yīng)用。此外,還重點(diǎn)講解了2個(gè)項(xiàng)目開(kāi)發(fā)案例,幫助讀者初步掌握Python開(kāi)發(fā)基礎(chǔ)。
隨著人工智能和大數(shù)據(jù)的蓬勃發(fā)展,Python將會(huì)得到越來(lái)越多開(kāi)發(fā)者的喜愛(ài)和應(yīng)用。身邊有很多朋友都開(kāi)始使用Python語(yǔ)言進(jìn)行開(kāi)發(fā)。正是因?yàn)镻ython是一門如此受歡迎的編程語(yǔ)言,所以筆者精心地編寫了本書,希望讓更多的人能夠掌握這門優(yōu)秀的編程語(yǔ)言。
學(xué)習(xí)編程語(yǔ)言的正確選擇
想從事程序開(kāi)發(fā)的初學(xué)者都需要一本適合自己的圖書來(lái)學(xué)習(xí)編程。筆者也是從初學(xué)者走過(guò)來(lái)的,因此十分理解廣大初學(xué)者的內(nèi)心需求。當(dāng)對(duì)自己的程序開(kāi)發(fā)水平有了一定的信心之后,本著分享技術(shù)的理念,開(kāi)始了本書的創(chuàng)作。本書涵蓋了Python基礎(chǔ)入門和案例實(shí)戰(zhàn)兩部分內(nèi)容,對(duì)實(shí)戰(zhàn)知識(shí)不是點(diǎn)到為止地講解,而是深入地探討。采用紙質(zhì)書 配套視頻資源 網(wǎng)絡(luò)答疑的形式,幫助初學(xué)者獲得基礎(chǔ)入門 實(shí)例練習(xí) 項(xiàng)目實(shí)戰(zhàn)的學(xué)習(xí)效果。通過(guò)本書的學(xué)習(xí),將解決絕大多數(shù)初學(xué)者的學(xué)習(xí)困惑,使初學(xué)者能夠從零基礎(chǔ)邁入Python開(kāi)發(fā)高手的行列。
本書特色
(1) 完全零基礎(chǔ),門檻低。
為了使初學(xué)者能夠完全看懂本書的內(nèi)容,本書遵循從入門到精通基礎(chǔ)類圖書的寫法,循序漸進(jìn)地講解Python語(yǔ)言的基本知識(shí)。
(2) 案例有趣味性且實(shí)用,提高學(xué)習(xí)興趣。
本書中的每一個(gè)案例都富有趣味性且與現(xiàn)實(shí)生活息息相關(guān),一改傳統(tǒng)編程書強(qiáng)迫灌輸式的講解方式,這樣可以提高初學(xué)者的學(xué)習(xí)興趣,在熟悉有趣的代碼中學(xué)會(huì)編程。
(3) 提供在線技術(shù)支持,消除初學(xué)者的痛點(diǎn)。
對(duì)于自學(xué)編程的人來(lái)說(shuō),最大的痛點(diǎn)是遇到問(wèn)題時(shí)無(wú)人可問(wèn)。在購(gòu)買本書后,讀者將會(huì)得到本書創(chuàng)作團(tuán)隊(duì)的技術(shù)支持,可以獲得一對(duì)一在線輔導(dǎo)服務(wù),快速解決讀者在學(xué)習(xí)中遇到的問(wèn)題。此外,我們還會(huì)定期開(kāi)展視頻授課,讓讀者切身體會(huì)到與眾多志同道合的朋友一起學(xué)習(xí)編程,將會(huì)是一件非常快樂(lè)的事情。
(4) 配套資源豐富,包含視頻、PPT、源碼。
書中每一章均提供了網(wǎng)絡(luò)視頻教學(xué),這些視頻能夠幫助讀者快速入門,增強(qiáng)學(xué)習(xí)的信心,從而理解所學(xué)知識(shí)。讀者可通過(guò)掃描每章二級(jí)標(biāo)題下的二維碼,獲取案例視頻資源,既可在線觀看也可以下載到本地隨時(shí)學(xué)習(xí)。此外,本書的配套學(xué)習(xí)資源中還提供了全書案例的源代碼,案例源代碼讀者可通過(guò)掃描下方的二維碼獲取。
本書讀者對(duì)象
初學(xué)編程的自學(xué)者 ? 編程愛(ài)好者
大中專院校的教師和學(xué)生 ? 相關(guān)培訓(xùn)機(jī)構(gòu)的教師和學(xué)員
畢業(yè)設(shè)計(jì)的學(xué)生 初級(jí)和中級(jí)程序開(kāi)發(fā)人員
軟件測(cè)試人員 ? 實(shí)習(xí)中的初級(jí)程序員
在職程序員
致謝
在寫作本書的過(guò)程中得到了家人和朋友的鼓勵(lì),十分感謝大家給予我的巨大支持。本書從開(kāi)始寫作到最終出版,得到了清華大學(xué)出版社編輯的支持和輔助,在此一并表示感謝。由于作者水平有限,書中難免存在紕漏之處,誠(chéng)請(qǐng)讀者提出意見(jiàn)或建議,以便修訂并使之更臻完善。感謝讀者購(gòu)買本書,希望這本書能為讀者在編程路上領(lǐng)航,祝您閱讀快樂(lè)!
編 者
張曉博,哈爾濱工業(yè)大學(xué)計(jì)算機(jī)碩士,熱衷于人工智能、機(jī)器學(xué)習(xí)、Android開(kāi)發(fā)和物聯(lián)網(wǎng)開(kāi)發(fā),對(duì)AI項(xiàng)目的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)原理有非常深刻的認(rèn)識(shí)和理解,應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)也十分豐富。另外還十分精通Python、C、C 、Java、C#開(kāi)發(fā)語(yǔ)言,熟悉軟件規(guī)劃、項(xiàng)目架構(gòu)和項(xiàng)目推廣。近年來(lái)隨著AI和大數(shù)據(jù)業(yè)務(wù)的興起,深入研究了人工智能開(kāi)發(fā)應(yīng)用,并且基于Python的AI研發(fā)一直是最擅長(zhǎng)的領(lǐng)域。
第1章 Python簡(jiǎn)要介紹 1
1.1 Python語(yǔ)言介紹 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:第一個(gè)Python程序石頭、剪刀、布游戲 9
1.3.1 功能介紹 9
1.3.2 具體實(shí)現(xiàn) 9
1.3.3 注釋 10
1.3.4 標(biāo)識(shí)符和關(guān)鍵字 11
1.3.5 變量 11
1.3.6 輸入和輸出 12
1.3.7 使用IDLE運(yùn)行程序 13
1.3.8 使用PyCharm運(yùn)行Python程序 15
1.3.9 縮進(jìn) 17
第2章 基本語(yǔ)法 19
2.1 字符串 20
2.1.1 案例1:統(tǒng)計(jì)某玄幻小說(shuō)的點(diǎn)擊量 20
2.1.2 案例2:修改某網(wǎng)絡(luò)小說(shuō)的名字 21
2.1.3 案例3:打印輸出老師對(duì)某學(xué)生的評(píng)價(jià) 22
2.1.4 案例4:查詢某小說(shuō)主人公的基本信息 23
2.2 數(shù)字類型 24
2.2.1 案例5:查詢某變量屬于什么類型 24
2.2.2 案例6:查詢某小說(shuō)的好評(píng)數(shù)量 26
2.3 運(yùn)算符和表達(dá)式 27
2.3.1 案例7:計(jì)算某計(jì)算機(jī)專業(yè)學(xué)生的期末考試成績(jī) 28
2.3.2 案例8:某麥當(dāng)勞餐廳的本月暢銷商品 29
2.3.3 案例9:貨物搬運(yùn)計(jì)算器 30
2.3.4 案例10:輸出顯示某上市公司第四季度的營(yíng)收金額 31
2.3.5 案例11:某店家的雙十一促銷活動(dòng) 33
2.4 使用列表 34
2.4.1 案例12:輸出顯示某學(xué)生的出生年份 34
2.4.2 案例13:將某網(wǎng)店暢銷手機(jī)品牌中的華為修改為OPPO 35
2.4.3 案例14:修改購(gòu)物車中的商品 35
2.5 元組 36
2.5.1 案例15:查詢某學(xué)生的信息 37
2.5.2 案例16:提取某平臺(tái)最暢銷商品和最不暢銷商品的銷量 38
2.6 字典 39
2.6.1 案例17:修改某學(xué)生的資料 39
2.6.2 案例18:遍歷輸出簡(jiǎn)歷中的信息 40
2.7 條件語(yǔ)句 41
2.7.1 案例19:車票價(jià)格調(diào)查問(wèn)卷系統(tǒng) 41
2.7.2 案例20:比較兩款同類商品的價(jià)格 43
2.7.3 案例21:判斷是否為酒后駕車 44
2.8 for循環(huán)語(yǔ)句 45
2.8.1 案例22:秒針計(jì)時(shí)器 46
2.8.2 案例23:獲取兩個(gè)整數(shù)之間的所有素?cái)?shù) 47
2.9 while循環(huán)語(yǔ)句 48
2.9.1 案例24:制作國(guó)慶假期游玩攻略 49
2.9.2 案例25:智能電腦護(hù)眼系統(tǒng) 50
2.9.3 案例26:個(gè)稅計(jì)算器 51
2.10 函數(shù) 53
2.10.1 案例27:速運(yùn)快遞稱重 系統(tǒng) 53
2.10.2 案例28:輸出兩名學(xué)生的 資料信息 55
2.10.3 案例29:根據(jù)身高和體重 計(jì)算BMI指數(shù) 56
2.10.4 案例30:計(jì)算年底應(yīng)得的 獎(jiǎng)金總額 58
第3章 Python的面向?qū)ο?61
3.1 類和對(duì)象 62
3.1.1 案例1:打印輸出某產(chǎn)品的說(shuō)明書 62
3.1.2 案例2:查詢某富豪的財(cái)富有多少 63
3.2 類方法 64
3.2.1 案例3:查詢微信賬號(hào)昵稱和微信錢包中的余額 64
3.2.2 案例4:計(jì)算某商品的利潤(rùn) 65
3.2.3 案例5:輸出顯示某游戲的萌寵信息 66
3.2.4 案例6:打印輸出某天貓旗艦店的信息 67
3.2.5 案例7:輸出顯示某公司的客戶類型和數(shù)量 68
3.2.6 案例8:提醒乘客地鐵即將進(jìn)站 69
3.3 屬性 70
3.3.1 案例9:查詢郵政編碼 71
3.3.2 案例10:顯示某4S店新車的里程信息 72
3.3.3 案例11:修改某汽車?yán)锍瘫淼臄?shù)據(jù) 73
3.4 繼承 75
3.4.1 案例12:輸出顯示某款寶馬車的信息 75
3.4.2 案例13:打印輸出款535Li的發(fā)動(dòng)機(jī)參數(shù) 76
3.4.3 案例14:實(shí)現(xiàn)多重繼承 78
3.4.4 案例15:模擬某款海戰(zhàn)游戲 81
3.5 模塊和包 82
3.5.1 案例16:顯示《三體2·黑暗森林》上部序章中的第一段內(nèi)容 82
3.5.2 案例17:模擬某火車發(fā)布即將查票的通知 84
3.5.3 案例18:編寫一個(gè)故事 85
3.6 迭代器 86
3.6.1 案例19:輸出顯示某公司的客戶類型和數(shù)量 87
3.6.2 案例20:偽隨機(jī)抽獎(jiǎng)系統(tǒng) 87
3.6.3 案例21:猜數(shù)游戲 89
3.7 生成器 90
3.7.1 案例22:模擬演示某代表團(tuán)的金牌數(shù)量變化情況 90
3.7.2 案例23:模擬乘坐電梯下樓的過(guò)程 91
3.8 裝飾器 93
3.8.1 案例24:使用裝飾器裝飾帶參函數(shù) 93
3.8.2 案例25:顯示某酒店的坐標(biāo) 94
第4章 文件操作 97
4.1 使用File操作文件 98
4.1.1 案例1:查看記事本文件重要學(xué)習(xí)文件的信息 98
4.1.2 案例2:打開(kāi)或關(guān)閉文件8強(qiáng)名單.txt 101
4.1.3 案例3:打印輸出某專業(yè)的導(dǎo)師名單信息 101
4.1.4 案例4:讀取文件銷售數(shù)據(jù)中的部分內(nèi)容 102
4.2 使用OS對(duì)象 103
4.2.1 案例5:查看是否有操作系統(tǒng)文件的權(quán)限 103
4.2.2 案例6:修改學(xué)習(xí)資料保存位置的工作路徑 105
4.2.3 案例7:修改文件數(shù)據(jù)庫(kù)下載地址的操作權(quán)限 105
4.2.4 案例8:向文件中寫入某綜藝節(jié)目的收視率 106
4.2.5 案例9:讀取文件財(cái)務(wù)預(yù)算計(jì)劃中的指定內(nèi)容 108
4.2.6 案例10:創(chuàng)建一個(gè)名為迅雷電影的文件夾 109
4.3 其他文件操作模塊 110
4.3.1 案例11:讀取兩個(gè)文件中的內(nèi)容 110
4.3.2 案例12:將記事本文件的名字保存到Excel文件中 111
第5章 標(biāo)準(zhǔn)庫(kù)函數(shù) 113
5.1 字符串處理函數(shù) 114
5.1.1 案例1:分解一封家書 114
5.1.2 案例2:分解市面上在售的iPhone手機(jī)型號(hào)名單 115
5.1.3 案例3:匹配處理順豐快遞中的發(fā)件人地址信息 116
5.1.4 案例4:檢索字符串中的信息 117
5.1.5 案例5:修改某個(gè)網(wǎng)址 118
5.1.6 案例6:過(guò)濾掉字符串中的敏感字符 119
5.2 數(shù)字處理函數(shù) 121
5.2.1 案例7:計(jì)算數(shù)字絕對(duì)值 121
5.2.2 案例8:計(jì)算一個(gè)數(shù)的次方結(jié)果 122
5.2.3 案例9:分別實(shí)現(xiàn)誤差運(yùn)算和精確運(yùn)算 123
5.2.4 案例10:實(shí)現(xiàn)二進(jìn)制、八進(jìn)制或十六進(jìn)制數(shù)轉(zhuǎn)換 124
5.3 日期和時(shí)間函數(shù) 125
5.3.1 案例11:返回執(zhí)行當(dāng)前程序的時(shí)間 126
5.3.2 案例12:制作一個(gè)2022年日歷 126
5.4 正則表達(dá)式 129
5.4.1 案例13:提取電話號(hào)碼 129
5.4.2 案例14:設(shè)置只能使用網(wǎng)易郵箱地址 130
第6章 異常處理 133
6.1 語(yǔ)法錯(cuò)誤 134
6.1.1 案例1:找出程序的錯(cuò)誤 134
6.1.2 案例2:縮進(jìn)錯(cuò)誤 134
6.2 異常處理 135
6.2.1 案例3:將某條新聞信息寫入指定文件中 135
6.2.2 案例4:解決不能打開(kāi)文件頭條新聞.txt的異常 136
6.2.3 案例5:根據(jù)銷售額和銷售數(shù)量計(jì)算每個(gè)商品的單價(jià) 137
6.2.4 案例6:向指定文件中寫入內(nèi)容 138
6.3 拋出異常 140
6.3.1 案例7:輸出顯示某電影的實(shí)時(shí)票房 140
6.3.2 案例8:對(duì)應(yīng)聘者的要求是年齡在20到25歲之間 141
6.3.3 案例9:自定義一個(gè)異常類 142
第7章 多線程開(kāi)發(fā) 145
7.1 使用threading模塊 146
7.1.1 案例1:分別計(jì)算1到5的平方和16到20的平方 146
7.1.2 案例2:模擬拍賣會(huì)競(jìng)拍情況 147
7.1.3 案例3:黃蓉和老頑童捉迷藏游戲 149
7.1.4 案例4:運(yùn)行4個(gè)線程 151
7.1.5 案例5:模擬運(yùn)行一個(gè)軟件的過(guò)程 152
7.1.6 案例6:每隔一秒輸出顯示當(dāng)前的時(shí)間 154
7.1.7 案例7:輸出顯示兩班航班在機(jī)場(chǎng)的降落順序 156
7.2 使用進(jìn)程庫(kù)multiprocessing 156
7.2.1 案例8:使用Process對(duì)象創(chuàng)建進(jìn)程 157
7.2.2 案例9:模擬某在線商城顧客與客服的對(duì)話 159
7.3 使用線程優(yōu)先級(jí)隊(duì)列模塊queue 160
7.3.1 案例10:某電商雙十一全球購(gòu)物盛典倒計(jì)時(shí) 160
7.3.2 案例11:直播田徑賽場(chǎng)百米飛人大戰(zhàn) 162
第8章 網(wǎng)絡(luò)開(kāi)發(fā) 165
8.1 Socket套接字編程 166
8.1.1 案例1:創(chuàng)建一個(gè)Socket服務(wù)器端和客戶端 166
8.1.2 案例2:搭建一個(gè)TCP簡(jiǎn)易聊天程序 169
8.1.3 案例3:搭建一個(gè)UDP簡(jiǎn)易聊天程序 171
8.2 socketserver編程 173
8.2.1 案例4:模擬同學(xué)E和同學(xué)F的網(wǎng)絡(luò)對(duì)話 173
8.2.2 案例5:在線機(jī)器人客服系統(tǒng) 176
8.3 使用select模塊實(shí)現(xiàn)多路I/O復(fù)用 177
8.3.1 案例6:同時(shí)監(jiān)聽(tīng)電腦中的多個(gè)網(wǎng)絡(luò)端口 177
8.3.2 案例7:連接服務(wù)器并實(shí)現(xiàn)與服務(wù)器端管理員的對(duì)話 179
8.4 使用包urllib 181
8.4.1 案例8:爬取某個(gè)網(wǎng)頁(yè)中的圖片文件 181
8.4.2 案例9:實(shí)現(xiàn)HTTP身份驗(yàn)證 184
8.5 使用http包 186
8.5.1 案例10:訪問(wèn)百度主頁(yè) 186
8.5.2 案例11:獲取指定URL地址網(wǎng)頁(yè)的數(shù)據(jù) 188
8.6 收發(fā)電子郵件 190
8.6.1 案例12:獲取指定郵箱中的兩封最新郵件的主題和發(fā)件人信息 190
8.6.2 案例13:發(fā)送一封郵件 192
第9章 Tkinter圖形化界面開(kāi)發(fā) 195
9.1 tkinter開(kāi)發(fā)基礎(chǔ) 196
9.1.1 案例1:創(chuàng)建第一個(gè)tkinter程序 196
9.1.2 案例2:確定是否購(gòu)買購(gòu)物車中的商品 197
9.2 tkinter組件開(kāi)發(fā) 199
9.2.1 案例3:輸出顯示阿里旗下的四大品牌 199
9.2.2 案例4:簡(jiǎn)易購(gòu)物程序 201
9.2.3 案例5:簡(jiǎn)易文本編輯器 203
9.2.4 案例6:模擬記事本編輯器 205
9.2.5 案例7:在窗體中顯示4個(gè)電商平臺(tái)的名字 206
9.2.6 案例8:?jiǎn)柧碚{(diào)查系統(tǒng) 208
9.3 庫(kù)tkinter的事件 211
9.3.1 案例9:英尺/米轉(zhuǎn)換器 211
9.3.2 案例10:為某商城設(shè)計(jì)一個(gè)購(gòu)買按鈕 214
第10章 數(shù)據(jù)庫(kù)開(kāi)發(fā) 217
10.1 操作SQLite3數(shù)據(jù)庫(kù) 218
10.1.1 案例1:使用方法cursor.execute() 執(zhí)行SQL語(yǔ)句 218
10.1.2 案例2:在SQLite3數(shù)據(jù)庫(kù)中 添加、刪除、修改數(shù)據(jù)信息 219
10.1.3 案例3:將自定義類Point 適配SQLite3數(shù)據(jù)庫(kù) 222
10.2 操作MySQL數(shù)據(jù)庫(kù) 223
10.2.1 案例4:輸出顯示MySQL 數(shù)據(jù)庫(kù)的版本號(hào) 224
10.2.2 案例5:在MySQL數(shù)據(jù)庫(kù)中 創(chuàng)建一個(gè)新表 225
10.2.3 案例6:向MySQL數(shù)據(jù)庫(kù)中 添加新的數(shù)據(jù) 226
10.2.4 案例7:查詢數(shù)據(jù)庫(kù)中的員工 信息 227
10.2.5 案例8:更新數(shù)據(jù)庫(kù)中的 信息 229
10.2.6 案例9:刪除數(shù)據(jù)庫(kù)中的指定 信息 230
10.3 使用MariaDB數(shù)據(jù)庫(kù) 231
10.3.1 案例10:實(shí)現(xiàn)數(shù)據(jù)的插入、 更新和刪除操作 231
10.3.2 案例11:使用MariaDB 創(chuàng)建MySQL數(shù)據(jù)庫(kù) 233
10.4 使用MongoDB數(shù)據(jù)庫(kù) 235
10.4.1 案例12:使用pymongo 操作MongoDB數(shù)據(jù)庫(kù) 235
10.4.2 案例13:使用mongoengine 操作MongoDB數(shù)據(jù)庫(kù) 238
10.5 使用ORM操作數(shù)據(jù)庫(kù) 241
10.5.1 案例14:使用SQLAlchemy 操作兩種數(shù)據(jù)庫(kù) 241
10.5.2 案例15:使用Peewee 操作SQLite數(shù)據(jù)庫(kù) 246
10.5.3 案例16:使用Pony創(chuàng)建 一個(gè)SQLite數(shù)據(jù)庫(kù) 247
第11章 Django Web開(kāi)發(fā) 249
11.1 Django Web初級(jí)實(shí)戰(zhàn) 250
11.1.1 案例1:第一個(gè)Django Web 程序 250
11.1.2 案例2:加法計(jì)算器 253
11.1.3 案例3:創(chuàng)建SQLite3 數(shù)據(jù)庫(kù) 256
11.2 Django Web高級(jí)實(shí)戰(zhàn) 258
11.2.1 案例4:在線博客系統(tǒng) 258
11.2.2 案例5:開(kāi)發(fā)一個(gè)在線商城 系統(tǒng) 265
第12章 數(shù)據(jù)可視化 283
12.1 使用Matplotlib 284
12.1.1 案例1:繪制點(diǎn) 284
12.1.2 案例2:自定義散點(diǎn) 圖樣式 285
12.1.3 案例3:繪制折線圖 287
12.1.4 案例4:繪制柱狀圖 288
12.1.5 案例5:繪制曲線圖 291
12.1.6 案例6:繪制隨機(jī)漫步圖 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庫(kù) 303
第13章 水果連連看游戲 309
13.1 游戲介紹 310
13.2 架構(gòu)分析 310
13.2.1 分析游戲規(guī)則 310
13.2.2 功能模塊 311
13.3 具體編碼 312
13.3.1 設(shè)計(jì)HUD 312
13.3.2 監(jiān)聽(tīng)鼠標(biāo)的移動(dòng) 314
13.3.3 顯示視圖 315
13.3.4 游戲菜單 316
13.4 實(shí)現(xiàn)游戲邏輯 317
13.4.1 設(shè)置系統(tǒng)參數(shù) 317
13.4.2 視圖初始化 318
13.4.3 開(kāi)始游戲的下一關(guān) 318
13.4.4 倒計(jì)時(shí) 319
13.4.5 設(shè)置隨機(jī)顯示的水果 319
13.4.6 碰撞檢測(cè)處理 320
13.4.7 進(jìn)度條 325
13.4.8 主程序 325
第14章 人工智能版NBA季后賽預(yù)測(cè)分析系統(tǒng) 327
14.1 NBA賽制介紹 328
14.2 項(xiàng)目介紹 328
14.3 機(jī)器學(xué)習(xí)和數(shù)據(jù)可視化 328
14.3.1 預(yù)處理數(shù)據(jù) 329
14.3.2 創(chuàng)建繪圖函數(shù) 330
14.3.3 數(shù)據(jù)集分解 333
14.3.4 繪制統(tǒng)計(jì)分布圖 335
14.3.5 比較季后賽和非季后賽球隊(duì)的技術(shù)統(tǒng)計(jì)數(shù)據(jù) 340
14.3.6 創(chuàng)建模型 341
14.3.7 優(yōu)化模型 345
14.3.8 樣本預(yù)測(cè) 351