Python基礎(chǔ)與應(yīng)用開發(fā)
定 價(jià):69 元
叢書名:高等學(xué)校計(jì)算機(jī)專業(yè)系列教材
- 作者:王德志、李冬艷、楊陽、崔新偉
- 出版時(shí)間:2024/12/1
- ISBN:9787302696988
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312.8PY
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書是一本面向初學(xué)者的Python編程教材,系統(tǒng)講解了Python語言的語法、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)以及應(yīng)用開發(fā)。全書共11章,內(nèi)容涵蓋Python語言概述、基本數(shù)據(jù)類型與運(yùn)算、組合數(shù)據(jù)類型、選擇與循環(huán)語句結(jié)構(gòu)、函數(shù)、文件操作、詞云與PyInstaller庫應(yīng)用、數(shù)據(jù)分析與數(shù)據(jù)可視化、圖形用戶界面(GUI)開發(fā)以及多個(gè)經(jīng)典應(yīng)用領(lǐng)域。本書以示例形式對(duì)Python功能進(jìn)行講解,突出應(yīng)用特色,讓讀者全面了解Python的各個(gè)應(yīng)用領(lǐng)域。本書講解簡潔明了,案例豐富,可作為高等學(xué)校計(jì)算機(jī)、軟件工程、計(jì)算機(jī)網(wǎng)絡(luò)和非計(jì)算機(jī)專業(yè)理工科等相關(guān)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的教材,也可作為Python程序設(shè)計(jì)人員的參考用書。
(1)涵蓋了Python語言在數(shù)據(jù)庫、網(wǎng)絡(luò)爬蟲、Web網(wǎng)站、游戲、人工智能、嵌入式硬件等當(dāng)前熱門領(lǐng)域的應(yīng)用開發(fā)。(2)語言簡潔明了,介紹由淺入深,適合作為高等學(xué)校計(jì)算機(jī)和非計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)教材。(3)示例豐富,每章后面有實(shí)驗(yàn)和習(xí)題,便于對(duì)所學(xué)知識(shí)的理解、掌握和鞏固。
前言
在當(dāng)今數(shù)字化時(shí)代,計(jì)算機(jī)技術(shù)的飛速發(fā)展正深刻地改變著我們的生活和工作方式。大數(shù)據(jù)和人工智能技術(shù)的崛起,更是讓編程語言的重要性日益凸顯。在眾多編程語言中,Python以其簡潔明了的語法、強(qiáng)大的功能以及豐富的庫支持,迅速成為最受歡迎的編程語言之一。它不僅適合計(jì)算機(jī)專業(yè)人員學(xué)習(xí)和使用,更是非計(jì)算機(jī)專業(yè)人員進(jìn)入編程世界的理想選擇。
Python語言具有簡單易學(xué)、免費(fèi)開源的特點(diǎn),其學(xué)習(xí)門檻低、上手快,能夠快速開發(fā)出具有行業(yè)應(yīng)用特色的程序。Python語言還擁有高效、豐富和龐大的標(biāo)準(zhǔn)庫與擴(kuò)展庫,這些庫為Python在不同行業(yè)領(lǐng)域的成功應(yīng)用提供了強(qiáng)有力的支撐。無論是在數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、Web開發(fā)領(lǐng)域,還是游戲開發(fā)、人工智能等領(lǐng)域,Python都展現(xiàn)出了其強(qiáng)大的適應(yīng)性和靈活性。
本書正是基于這樣的背景而編寫的。它旨在為高等院校計(jì)算機(jī)、軟件工程、計(jì)算機(jī)網(wǎng)絡(luò)及非計(jì)算機(jī)專業(yè)的相關(guān)理工科專業(yè)的學(xué)生提供一本系統(tǒng)、全面的Python程序設(shè)計(jì)教材。同時(shí),對(duì)于廣大非計(jì)算機(jī)專業(yè)的讀者,本書也是一本實(shí)用的自學(xué)指南。書中不僅詳細(xì)講解了Python語言的基礎(chǔ)知識(shí),還通過豐富的案例分析,展示了Python在各個(gè)領(lǐng)域的實(shí)際應(yīng)用。
本書的特點(diǎn)是知識(shí)點(diǎn)講解簡潔明了,案例豐富,強(qiáng)調(diào)實(shí)踐與動(dòng)手操作。通過每個(gè)章節(jié)的案例分析,讀者將能夠熟練掌握Python在各個(gè)領(lǐng)域的應(yīng)用。全書共分為11章,其中前7章為基礎(chǔ)知識(shí),第8~11章介紹Python的常用功能。內(nèi)容涵蓋Python的特點(diǎn)、開發(fā)環(huán)境、基本數(shù)據(jù)類型、運(yùn)算符、組合數(shù)據(jù)類型、選擇與循環(huán)結(jié)構(gòu)、函數(shù)、文件操作等基礎(chǔ)知識(shí),以及數(shù)據(jù)分析、數(shù)據(jù)可視化、GUI開發(fā)、網(wǎng)絡(luò)爬蟲、Web開發(fā)、游戲開發(fā)、人工智能和嵌入式硬件開發(fā)等實(shí)際應(yīng)用。每章后附有習(xí)題和實(shí)驗(yàn),幫助讀者鞏固所學(xué)知識(shí)。此外,為了方便教學(xué)和學(xué)習(xí),本書還提供了配套的電子教案、源代碼和習(xí)題答案等資源,讀者可通過清華大學(xué)出版社網(wǎng)站下載。
本書由王德志擔(dān)任主編,李冬艷、楊陽、崔新偉擔(dān)任副主編。其中,第1~3章由崔新偉編寫,第4~6章由李冬艷編寫,第7、8章和附錄由楊陽編寫,第9~11章由王德志編寫。王德志對(duì)全書進(jìn)行了統(tǒng)稿。盡管編者在編寫過程中付出了諸多努力,但由于編者水平有限,書中難免存在不足之處,懇請(qǐng)讀者給予批評(píng)指正。
在此,特別感謝郭紅、張?jiān)评椎壤蠋煂?duì)書稿的修改意見,感謝研究生李威、曹任傑同學(xué)對(duì)書稿的校驗(yàn)。我們希望本書能夠成為讀者學(xué)習(xí)Python的良師益友,助力大家在編程之路上不斷進(jìn)步。通過本書的學(xué)習(xí),讀者不僅能夠掌握Python語言的基礎(chǔ)知識(shí),還能夠深入了解Python在各個(gè)領(lǐng)域的實(shí)際應(yīng)用,為未來的職業(yè)發(fā)展打下堅(jiān)實(shí)的基礎(chǔ)。
編者
2025年3月
目錄
第1章Python語言概述/1
1.1Python語言發(fā)展簡介1
1.1.1Python語言歷史1
1.1.2Python語言特點(diǎn)1
1.1.3Python應(yīng)用領(lǐng)域2
1.2集成開發(fā)環(huán)境3
1.2.1Python默認(rèn)開發(fā)環(huán)境3
1.2.2PyCharm開發(fā)環(huán)境4
1.2.3Anaconda開發(fā)環(huán)境4
1.2.4VS Code4
1.3代碼編寫與執(zhí)行方法6
1.3.1Python語言的書寫規(guī)則6
1.3.2命令交互執(zhí)行方式6
1.3.3程序文件執(zhí)行方式7
1.4Python案例講解9
1.4.1簡單的輸入輸出程序9
1.4.2turtle繪制蟒蛇程序9
實(shí)驗(yàn)一Python環(huán)境與基本操作10
習(xí)題一10
第2章基本數(shù)據(jù)類型與運(yùn)算/12
2.1數(shù)據(jù)類型概述12
2.2常量與變量12
2.2.1標(biāo)識(shí)符的命名規(guī)則13
2.2.2變量13
2.2.3關(guān)鍵字14
2.3數(shù)值型數(shù)據(jù)操作15
2.3.1數(shù)值型數(shù)據(jù)15
2.3.2數(shù)值運(yùn)算符15
2.3.3數(shù)值運(yùn)算函數(shù)17
2.3.4數(shù)值類型轉(zhuǎn)換函數(shù)18
2.4字符串?dāng)?shù)據(jù)操作18
2.4.1字符串?dāng)?shù)據(jù)18
2.4.2字符串的基本操作19
2.4.3字符串的內(nèi)置方法21
2.4.4操作字符串的內(nèi)置函數(shù)23
2.4.5字符串格式化方法24
2.5標(biāo)準(zhǔn)輸入輸出函數(shù)26
2.5.1輸入函數(shù)input()26
2.5.2輸出函數(shù)print()28
2.6擴(kuò)展: math庫的使用30
2.6.1math庫的引用30
2.6.2math庫的常用數(shù)學(xué)常數(shù)和函數(shù)31
實(shí)驗(yàn)二基本數(shù)據(jù)類型的操作32
習(xí)題二32
第3章組合數(shù)據(jù)類型/35
3.1組合數(shù)據(jù)類型概述35
3.2列表36
3.2.1列表的定義與賦值36
3.2.2列表的基本操作39
3.2.3列表的內(nèi)置方法39
3.2.4操作列表的內(nèi)置函數(shù)41
3.2.5range()函數(shù)的使用42
3.3元組43
3.3.1元組的定義與賦值43
3.3.2元組的基本操作44
3.4字典44
3.4.1字典的定義與賦值44
3.4.2字典的基本操作45
3.5集合48
3.5.1集合的定義與賦值48
3.5.2集合的基本操作48
3.6列表與其他數(shù)據(jù)類型的轉(zhuǎn)換49
3.6.1列表與字符串間的轉(zhuǎn)換49
3.6.2列表與字典間的轉(zhuǎn)換50
3.7擴(kuò)展: random庫51
實(shí)驗(yàn)三組合數(shù)據(jù)類型的操作52
習(xí)題三53
第4章選擇程序/55
4.1程序設(shè)計(jì)結(jié)構(gòu)概述55
4.1.1算法的概念55
4.1.2算法的表示56
4.2關(guān)系運(yùn)算符與邏輯運(yùn)算符61
4.2.1關(guān)系運(yùn)算符61
4.2.2邏輯運(yùn)算符62
4.2.3優(yōu)先級(jí)63
4.3成員運(yùn)算符與一致性運(yùn)算符63
4.3.1成員運(yùn)算符63
4.3.2一致性運(yùn)算符64
4.4順序結(jié)構(gòu)65
4.5選擇結(jié)構(gòu)65
4.5.1單分支結(jié)構(gòu): if語句66
4.5.2雙分支結(jié)構(gòu): ifelse語句67
4.5.3三元運(yùn)算符(條件表達(dá)式)68
4.5.4多分支結(jié)構(gòu): ifelifelse語句68
4.5.5if語句的嵌套結(jié)構(gòu)70
4.6擴(kuò)展: time庫和datetime庫的使用72
4.6.1calendar庫的使用72
4.6.2time和datetime庫的使用72
4.7綜合案例74
實(shí)驗(yàn)四選擇結(jié)構(gòu)使用80
習(xí)題四82
第5章循環(huán)語句結(jié)構(gòu)/84
5.1循環(huán)語句結(jié)構(gòu)概述84
5.2while循環(huán)語句的結(jié)構(gòu)84
5.2.1while循環(huán)語句的基本結(jié)構(gòu)84
5.2.2while循環(huán)語句的使用示例85
5.3forin循環(huán)語句的結(jié)構(gòu)86
5.3.1forin循環(huán)語句的基本結(jié)構(gòu)87
5.3.2forin循環(huán)語句的使用示例88
5.4嵌套循環(huán)語句91
5.5break與continue語句92
5.5.1break語句92
5.5.2continue語句94
5.5.3循環(huán)結(jié)構(gòu)中的else子句95
5.6特殊循環(huán)——列表解析96
5.7異常捕捉98
5.7.1Python中的異常98
5.7.2捕捉異常100
5.7.3else和finally子句102
5.8擴(kuò)展: turtle庫的使用102
5.8.1海龜繪圖概述102
5.8.2turtle庫常用方法103
5.8.3turtle庫繪圖示例104
5.9綜合案例105
實(shí)驗(yàn)五循環(huán)結(jié)構(gòu)使用113
習(xí)題五116
第6章函數(shù)/121
6.1函數(shù)的概念121
6.2常用Python標(biāo)準(zhǔn)庫122
6.3函數(shù)的定義、調(diào)用與返回值122
6.3.1函數(shù)的定義122
6.3.2函數(shù)的返回值123
6.3.3函數(shù)的調(diào)用123
6.4函數(shù)的參數(shù)傳遞128
6.4.1參數(shù)是否可變128
6.4.2不同類型的參數(shù)130
6.5變量的作用域133
6.5.1局部變量與全局變量的概念133
6.5.2使用關(guān)鍵字global語句聲明全局變量135
6.6函數(shù)的嵌套和遞歸135
6.6.1函數(shù)的嵌套調(diào)用135
6.6.2函數(shù)的遞歸調(diào)用136
6.7Python內(nèi)置函數(shù)138
6.8lambda函數(shù)的定義與使用138
6.8.1lambda函數(shù)的定義138
6.8.2在lambda表達(dá)式中調(diào)用其他函數(shù)139
6.9擴(kuò)展: jieba庫的使用139
6.9.1jieba庫概述140
6.9.2jieba庫解析140
6.9.3文本詞頻統(tǒng)計(jì)141
6.10綜合案例142
實(shí)驗(yàn)六函數(shù)的使用146
習(xí)題六148
第7章文件/151
7.1文件概念151
7.1.1文本文件和二進(jìn)制文件151
7.1.2文本文件的編碼151
7.1.3文件指針的概念152
7.2文件的打開與關(guān)閉152
7.2.1打開文件152
7.2.2關(guān)閉文件154
7.3文件的讀寫154
7.3.1讀取文件數(shù)據(jù)154
7.3.2往文件寫入數(shù)據(jù)156
7.3.3文件的定位讀寫157
7.3.4讀寫二進(jìn)制文件158
7.4CSV文件操作159
7.4.1CSV文件的概念和特點(diǎn)159
7.4.2數(shù)據(jù)的維度159
7.4.3向CVS文件中讀寫一維和二維數(shù)據(jù)160
7.5擴(kuò)展: openpyxl庫的文件使用162
實(shí)驗(yàn)七文件166
第8章詞云與PyInstaller庫應(yīng)用/168
8.1WordCloud使用168
8.1.1WordCloud的安裝168
8.1.2WordCloud的使用169
8.2PyInstaller使用172
8.2.1PyInstaller安裝172
8.2.2使用PyInstaller打包172
8.2.3PyInstaller的參數(shù)173
8.3綜合案例: 基于共現(xiàn)提取人物關(guān)系可視化174
實(shí)驗(yàn)八《紅樓夢(mèng)》詞頻統(tǒng)計(jì)與詞云展示182
第9章數(shù)據(jù)分析入門/183
9.1數(shù)據(jù)分析概述183
9.1.1數(shù)據(jù)分析的基本概念183
9.1.2數(shù)據(jù)分析的基本流程183
9.1.3數(shù)據(jù)分析第三方庫的安裝184
9.2Matplotlib數(shù)據(jù)可視化184
9.2.1繪制基本圖形184
9.2.2添加坐標(biāo)軸和圖標(biāo)識(shí)186
9.2.3繪制多窗口187
9.2.4配置常用圖形參數(shù)188
9.2.5添加箭頭注釋189
9.3Pyecharts數(shù)據(jù)可視化191
9.3.1Pyecharts概述191
9.3.2繪制圖形192
9.3.3設(shè)置圖表配置參數(shù)196
9.3.4組合圖與并行多圖199
9.4NumPy多維數(shù)組201
9.4.1數(shù)組生成及屬性201
9.4.2數(shù)組切片203
9.4.3運(yùn)算符操作數(shù)組204
9.4.4數(shù)組修改操作205
9.4.5常用數(shù)學(xué)函數(shù)與統(tǒng)計(jì)函數(shù)207
9.4.6線性代數(shù)207
9.4.7綜合案例208
9.5Pandas數(shù)據(jù)處理210
9.5.1Pandas數(shù)據(jù)結(jié)構(gòu)210
9.5.2讀取CSV/XLSX格式文件生成數(shù)據(jù)幀213
9.5.3數(shù)據(jù)切片讀取214
9.5.4行列數(shù)據(jù)的增刪改操作217
9.5.5修改行列索引220
9.5.6數(shù)據(jù)篩選222
9.5.7統(tǒng)計(jì)分析224
9.5.8綜合案例225
9.6綜合案例: 森林火災(zāi)數(shù)據(jù)可視化227
實(shí)驗(yàn)九設(shè)計(jì)學(xué)生成績分析系統(tǒng)231
第10章圖形用戶界面(GUI)編程開發(fā)/232
10.1GUI開發(fā)第三方庫介紹232
10.1.1GUI開發(fā)基本概念232
10.1.2常用第三方GUI庫232
10.1.3EasyGUI特點(diǎn)233
10.1.4PyQt5特點(diǎn)234
10.2EasyGUI使用234
10.2.1EasyGUI安裝與常用窗體函數(shù)234
10.2.2EasyGUI按鈕窗體235
10.2.3EasyGUI單選與多選項(xiàng)窗體236
10.2.4EasyGUI文本輸入窗體237
10.2.5EasyGUI文本顯示窗體239
10.2.6EasyGUI目錄與文件窗體239
10.3PyQt5開發(fā)環(huán)境安裝240
10.3.1安裝庫文件240
10.3.2配置外部工具命令240
10.4PyQt5創(chuàng)建主窗體243
10.4.1繪制主窗體243
10.4.2轉(zhuǎn)換窗體代碼245
10.4.3編寫窗體運(yùn)行程序245
10.4.4修改窗體246
10.5PyQt5常用控件使用247
10.5.1標(biāo)簽247
10.5.2文本框249
10.5.3信號(hào)/槽和按鈕250
10.5.4下拉列表框253
10.5.5彈出消息框255
10.5.6表格控件255
10.6PyQt5設(shè)計(jì)多窗體259
10.6.1嵌入式多窗體259
10.6.2彈出式多窗體261
10.6.3主窗體與子窗體交互數(shù)據(jù)262
10.7Matplotlib圖形在PyQt5中的使用265
10.7.1總體設(shè)計(jì)思路265
10.7.2靜態(tài)Matplotlib圖形展示266
10.7.3動(dòng)態(tài)Matplotlib圖形展示268
10.8PyQt5程序打包發(fā)布269
10.8.1打包第三方工具的安裝269
10.8.2打包命令269
10.9綜合案例: 基于GUI的學(xué)生成績管理軟件269
實(shí)驗(yàn)十設(shè)計(jì)學(xué)生成績分析系統(tǒng)273
第11章其他經(jīng)典應(yīng)用領(lǐng)域介紹/275
11.1Python熱門應(yīng)用領(lǐng)域概述275
11.2數(shù)據(jù)庫操作應(yīng)用276
11.2.1數(shù)據(jù)庫基礎(chǔ)知識(shí)276
11.2.2使用內(nèi)置的SQLite3數(shù)據(jù)庫276
11.2.3操作MySQL和SQL Server數(shù)據(jù)庫278
11.3網(wǎng)絡(luò)爬蟲應(yīng)用279
11.3.1網(wǎng)絡(luò)爬蟲第三方庫安裝279
11.3.2requests庫的使用279
11.3.3HTML格式說明281
11.3.4beautifulsoup4庫的使用282
11.3.5爬取豆瓣電影網(wǎng)Top250283
11.4Web網(wǎng)站開發(fā)應(yīng)用284
11.4.1Flask開發(fā)環(huán)境配置284
11.4.2路由286
11.4.3利用上下文獲得數(shù)據(jù)288
11.4.4超鏈接地址跳轉(zhuǎn)289
11.4.5靜態(tài)網(wǎng)頁模板渲染290
11.5游戲開發(fā)應(yīng)用292
11.5.1Pygame庫介紹與安裝292
11.5.2Pygame游戲框架293
11.5.3添加一個(gè)運(yùn)動(dòng)圖像294
11.5.4鍵盤控制和發(fā)射子彈295
11.5.5利用精靈產(chǎn)生敵方坦克297
11.5.6精靈碰撞——多子彈與坦克碰撞298
11.6人工智能應(yīng)用303
11.6.1人工智能與Python關(guān)系介紹303
11.6.2生成式人工智能(AIGC)平臺(tái)API接口使用303
11.7嵌入式硬件開發(fā)應(yīng)用308
11.7.1Python在嵌入式設(shè)備中應(yīng)用308
11.7.2嵌入式設(shè)備虛擬仿真平臺(tái)Wokwi使用310
附錄/312
附錄APython集成開發(fā)環(huán)境安裝312
附錄B常用Python學(xué)習(xí)網(wǎng)站312
附錄CPython內(nèi)置函數(shù)312
附錄D國家計(jì)算機(jī)二級(jí)等級(jí)考試(Python)考試知識(shí)點(diǎn)介紹(2025版)312
參考文獻(xiàn)/313