Python基礎(chǔ)與應(yīng)用開發(fā)
定 價:69 元
叢書名:高等學(xué)校計算機專業(yè)系列教材
- 作者:王德志、李冬艷、楊陽、崔新偉
- 出版時間:2024/12/1
- ISBN:9787302696988
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312.8PY
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書是一本面向初學(xué)者的Python編程教材,系統(tǒng)講解了Python語言的語法、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計以及應(yīng)用開發(fā)。全書共11章,內(nèi)容涵蓋Python語言概述、基本數(shù)據(jù)類型與運算、組合數(shù)據(jù)類型、選擇與循環(huán)語句結(jié)構(gòu)、函數(shù)、文件操作、詞云與PyInstaller庫應(yīng)用、數(shù)據(jù)分析與數(shù)據(jù)可視化、圖形用戶界面(GUI)開發(fā)以及多個經(jīng)典應(yīng)用領(lǐng)域。本書以示例形式對Python功能進行講解,突出應(yīng)用特色,讓讀者全面了解Python的各個應(yīng)用領(lǐng)域。本書講解簡潔明了,案例豐富,可作為高等學(xué)校計算機、軟件工程、計算機網(wǎng)絡(luò)和非計算機專業(yè)理工科等相關(guān)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計的教材,也可作為Python程序設(shè)計人員的參考用書。
(1)涵蓋了Python語言在數(shù)據(jù)庫、網(wǎng)絡(luò)爬蟲、Web網(wǎng)站、游戲、人工智能、嵌入式硬件等當前熱門領(lǐng)域的應(yīng)用開發(fā)。(2)語言簡潔明了,介紹由淺入深,適合作為高等學(xué)校計算機和非計算機專業(yè)的程序設(shè)計教材。(3)示例豐富,每章后面有實驗和習(xí)題,便于對所學(xué)知識的理解、掌握和鞏固。
前言
在當今數(shù)字化時代,計算機技術(shù)的飛速發(fā)展正深刻地改變著我們的生活和工作方式。大數(shù)據(jù)和人工智能技術(shù)的崛起,更是讓編程語言的重要性日益凸顯。在眾多編程語言中,Python以其簡潔明了的語法、強大的功能以及豐富的庫支持,迅速成為最受歡迎的編程語言之一。它不僅適合計算機專業(yè)人員學(xué)習(xí)和使用,更是非計算機專業(yè)人員進入編程世界的理想選擇。
Python語言具有簡單易學(xué)、免費開源的特點,其學(xué)習(xí)門檻低、上手快,能夠快速開發(fā)出具有行業(yè)應(yīng)用特色的程序。Python語言還擁有高效、豐富和龐大的標準庫與擴展庫,這些庫為Python在不同行業(yè)領(lǐng)域的成功應(yīng)用提供了強有力的支撐。無論是在數(shù)據(jù)分析、機器學(xué)習(xí)、Web開發(fā)領(lǐng)域,還是游戲開發(fā)、人工智能等領(lǐng)域,Python都展現(xiàn)出了其強大的適應(yīng)性和靈活性。
本書正是基于這樣的背景而編寫的。它旨在為高等院校計算機、軟件工程、計算機網(wǎng)絡(luò)及非計算機專業(yè)的相關(guān)理工科專業(yè)的學(xué)生提供一本系統(tǒng)、全面的Python程序設(shè)計教材。同時,對于廣大非計算機專業(yè)的讀者,本書也是一本實用的自學(xué)指南。書中不僅詳細講解了Python語言的基礎(chǔ)知識,還通過豐富的案例分析,展示了Python在各個領(lǐng)域的實際應(yīng)用。
本書的特點是知識點講解簡潔明了,案例豐富,強調(diào)實踐與動手操作。通過每個章節(jié)的案例分析,讀者將能夠熟練掌握Python在各個領(lǐng)域的應(yīng)用。全書共分為11章,其中前7章為基礎(chǔ)知識,第8~11章介紹Python的常用功能。內(nèi)容涵蓋Python的特點、開發(fā)環(huán)境、基本數(shù)據(jù)類型、運算符、組合數(shù)據(jù)類型、選擇與循環(huán)結(jié)構(gòu)、函數(shù)、文件操作等基礎(chǔ)知識,以及數(shù)據(jù)分析、數(shù)據(jù)可視化、GUI開發(fā)、網(wǎng)絡(luò)爬蟲、Web開發(fā)、游戲開發(fā)、人工智能和嵌入式硬件開發(fā)等實際應(yīng)用。每章后附有習(xí)題和實驗,幫助讀者鞏固所學(xué)知識。此外,為了方便教學(xué)和學(xué)習(xí),本書還提供了配套的電子教案、源代碼和習(xí)題答案等資源,讀者可通過清華大學(xué)出版社網(wǎng)站下載。
本書由王德志擔(dān)任主編,李冬艷、楊陽、崔新偉擔(dān)任副主編。其中,第1~3章由崔新偉編寫,第4~6章由李冬艷編寫,第7、8章和附錄由楊陽編寫,第9~11章由王德志編寫。王德志對全書進行了統(tǒng)稿。盡管編者在編寫過程中付出了諸多努力,但由于編者水平有限,書中難免存在不足之處,懇請讀者給予批評指正。
在此,特別感謝郭紅、張云雷等老師對書稿的修改意見,感謝研究生李威、曹任傑同學(xué)對書稿的校驗。我們希望本書能夠成為讀者學(xué)習(xí)Python的良師益友,助力大家在編程之路上不斷進步。通過本書的學(xué)習(xí),讀者不僅能夠掌握Python語言的基礎(chǔ)知識,還能夠深入了解Python在各個領(lǐng)域的實際應(yīng)用,為未來的職業(yè)發(fā)展打下堅實的基礎(chǔ)。
編者
2025年3月
目錄
第1章Python語言概述/1
1.1Python語言發(fā)展簡介1
1.1.1Python語言歷史1
1.1.2Python語言特點1
1.1.3Python應(yīng)用領(lǐng)域2
1.2集成開發(fā)環(huán)境3
1.2.1Python默認開發(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
實驗一Python環(huán)境與基本操作10
習(xí)題一10
第2章基本數(shù)據(jù)類型與運算/12
2.1數(shù)據(jù)類型概述12
2.2常量與變量12
2.2.1標識符的命名規(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ù)值運算符15
2.3.3數(shù)值運算函數(shù)17
2.3.4數(shù)值類型轉(zhuǎn)換函數(shù)18
2.4字符串數(shù)據(jù)操作18
2.4.1字符串數(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標準輸入輸出函數(shù)26
2.5.1輸入函數(shù)input()26
2.5.2輸出函數(shù)print()28
2.6擴展: math庫的使用30
2.6.1math庫的引用30
2.6.2math庫的常用數(shù)學(xué)常數(shù)和函數(shù)31
實驗二基本數(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擴展: random庫51
實驗三組合數(shù)據(jù)類型的操作52
習(xí)題三53
第4章選擇程序/55
4.1程序設(shè)計結(jié)構(gòu)概述55
4.1.1算法的概念55
4.1.2算法的表示56
4.2關(guān)系運算符與邏輯運算符61
4.2.1關(guān)系運算符61
4.2.2邏輯運算符62
4.2.3優(yōu)先級63
4.3成員運算符與一致性運算符63
4.3.1成員運算符63
4.3.2一致性運算符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三元運算符(條件表達式)68
4.5.4多分支結(jié)構(gòu): ifelifelse語句68
4.5.5if語句的嵌套結(jié)構(gòu)70
4.6擴展: time庫和datetime庫的使用72
4.6.1calendar庫的使用72
4.6.2time和datetime庫的使用72
4.7綜合案例74
實驗四選擇結(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擴展: turtle庫的使用102
5.8.1海龜繪圖概述102
5.8.2turtle庫常用方法103
5.8.3turtle庫繪圖示例104
5.9綜合案例105
實驗五循環(huán)結(jié)構(gòu)使用113
習(xí)題五116
第6章函數(shù)/121
6.1函數(shù)的概念121
6.2常用Python標準庫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表達式中調(diào)用其他函數(shù)139
6.9擴展: jieba庫的使用139
6.9.1jieba庫概述140
6.9.2jieba庫解析140
6.9.3文本詞頻統(tǒng)計141
6.10綜合案例142
實驗六函數(shù)的使用146
習(xí)題六148
第7章文件/151
7.1文件概念151
7.1.1文本文件和二進制文件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讀寫二進制文件158
7.4CSV文件操作159
7.4.1CSV文件的概念和特點159
7.4.2數(shù)據(jù)的維度159
7.4.3向CVS文件中讀寫一維和二維數(shù)據(jù)160
7.5擴展: openpyxl庫的文件使用162
實驗七文件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
實驗八《紅樓夢》詞頻統(tǒng)計與詞云展示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添加坐標軸和圖標識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運算符操作數(shù)組204
9.4.4數(shù)組修改操作205
9.4.5常用數(shù)學(xué)函數(shù)與統(tǒng)計函數(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)計分析224
9.5.8綜合案例225
9.6綜合案例: 森林火災(zāi)數(shù)據(jù)可視化227
實驗九設(shè)計學(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特點233
10.1.4PyQt5特點234
10.2EasyGUI使用234
10.2.1EasyGUI安裝與常用窗體函數(shù)234
10.2.2EasyGUI按鈕窗體235
10.2.3EasyGUI單選與多選項窗體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編寫窗體運行程序245
10.4.4修改窗體246
10.5PyQt5常用控件使用247
10.5.1標簽247
10.5.2文本框249
10.5.3信號/槽和按鈕250
10.5.4下拉列表框253
10.5.5彈出消息框255
10.5.6表格控件255
10.6PyQt5設(shè)計多窗體259
10.6.1嵌入式多窗體259
10.6.2彈出式多窗體261
10.6.3主窗體與子窗體交互數(shù)據(jù)262
10.7Matplotlib圖形在PyQt5中的使用265
10.7.1總體設(shè)計思路265
10.7.2靜態(tài)Matplotlib圖形展示266
10.7.3動態(tài)Matplotlib圖形展示268
10.8PyQt5程序打包發(fā)布269
10.8.1打包第三方工具的安裝269
10.8.2打包命令269
10.9綜合案例: 基于GUI的學(xué)生成績管理軟件269
實驗十設(shè)計學(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ǔ)知識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添加一個運動圖像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)平臺API接口使用303
11.7嵌入式硬件開發(fā)應(yīng)用308
11.7.1Python在嵌入式設(shè)備中應(yīng)用308
11.7.2嵌入式設(shè)備虛擬仿真平臺Wokwi使用310
附錄/312
附錄APython集成開發(fā)環(huán)境安裝312
附錄B常用Python學(xué)習(xí)網(wǎng)站312
附錄CPython內(nèi)置函數(shù)312
附錄D國家計算機二級等級考試(Python)考試知識點介紹(2025版)312
參考文獻/313