本書(shū)圍繞Python程序設(shè)計(jì)方法及應(yīng)用,依據(jù)感知Python、理解Python、應(yīng)用Python的漸進(jìn)式思路組織教材內(nèi)容,注重各知識(shí)點(diǎn)間的交叉融合以及Python應(yīng)用能力的培養(yǎng)。 本書(shū)共8章,大致分為三部分:第一部分(第1章)感知Python,介紹Python的環(huán)境配置、基本輸入輸出、變量命名、語(yǔ)法規(guī)范等,通過(guò)實(shí)例認(rèn)識(shí)Python程序,感知程序運(yùn)行過(guò)程及設(shè)計(jì)方法;第二部分(第2~6章)理解Python,詳細(xì)介紹數(shù)據(jù)類型、程序控制結(jié)構(gòu)、函數(shù)、文件和數(shù)據(jù)處理;第三部分(第7~8章)應(yīng)用Python,介紹Python圖形界面設(shè)計(jì)tkinter庫(kù),以及Python在繪圖、數(shù)據(jù)可視化、數(shù)據(jù)處理庫(kù)等方面的應(yīng)用。本書(shū)敘述清晰,案例豐富,讀者可以循序漸進(jìn)地學(xué)會(huì)Python編程方法及應(yīng)用。 本書(shū)適合作為各類大專院校的Python程序設(shè)計(jì)教材,也可作為計(jì)算機(jī)等級(jí)考試(二級(jí))的輔導(dǎo)教材,以及Python程序設(shè)計(jì)愛(ài)好者的自學(xué)參考書(shū)。
Python程序設(shè)計(jì)與應(yīng)用Python語(yǔ)言從20世紀(jì)90年代誕生至今,由于其易學(xué)易用以及豐富的開(kāi)源庫(kù),使其在數(shù)據(jù)分析、人工智能等多領(lǐng)域有著廣泛的應(yīng)用,是最受歡迎的程序設(shè)計(jì)語(yǔ)言之一。Python通過(guò)眾多的第三方庫(kù),覆蓋了從數(shù)據(jù)到智能、文本處理到虛擬現(xiàn)實(shí)、控制邏輯到系統(tǒng)結(jié)構(gòu)等幾乎所有的計(jì)算領(lǐng)域,所有專業(yè)的學(xué)生,均可以找到Python與其專業(yè)領(lǐng)域應(yīng)用的結(jié)合點(diǎn),Python簡(jiǎn)潔易用的特點(diǎn),讓其成為很適合大學(xué)生學(xué)習(xí)和掌握的第一門(mén)程序設(shè)計(jì)語(yǔ)言。目前絕大多數(shù)高校均開(kāi)設(shè)了Python程序設(shè)計(jì)課程。
把Python程序設(shè)計(jì)作為一門(mén)語(yǔ)言,真正用起來(lái)解決實(shí)際問(wèn)題才是它的價(jià)值所在。因此,在本書(shū)的編寫(xiě)中,將從會(huì)編程到真應(yīng)用作為理念。本書(shū)的編者長(zhǎng)期從事程序設(shè)計(jì)語(yǔ)言的教學(xué)與應(yīng)用開(kāi)發(fā),將多年的教學(xué)實(shí)踐經(jīng)驗(yàn)融入本書(shū)的編寫(xiě)過(guò)程中,全書(shū)通過(guò)100多個(gè)問(wèn)題求解案例,既注重知識(shí)點(diǎn)從單一到綜合的呈現(xiàn),又注重知識(shí)點(diǎn)間的交叉融合,同時(shí)通過(guò)綜合實(shí)驗(yàn)的精心設(shè)計(jì),注重分析和解決實(shí)際問(wèn)題的能力提升。
1. 本書(shū)內(nèi)容
按照感知Python、理解Python、應(yīng)用Python的漸進(jìn)式思路組織。本書(shū)共8章,大致分為以下三部分。
第一部分(第1章)感知Python,介紹Python的環(huán)境配置、基本輸入輸出、變量命名、語(yǔ)法規(guī)范等。讀者通過(guò)第一個(gè)程序認(rèn)識(shí)Python,通過(guò)實(shí)例感知程序設(shè)計(jì)的流程和方法,同時(shí)了解程序設(shè)計(jì)應(yīng)遵循的編程規(guī)范。
第二部分(第2~6章)理解Python,詳細(xì)介紹數(shù)據(jù)類型、程序控制結(jié)構(gòu)、函數(shù)、文件和數(shù)據(jù)處理。從基本數(shù)據(jù)類型到組合數(shù)據(jù)類型,體會(huì)處理數(shù)據(jù)過(guò)程中的類型選擇。通過(guò)程序控制結(jié)構(gòu),詳細(xì)說(shuō)明分支、循環(huán)、異常處理的使用方法及應(yīng)用場(chǎng)景。通過(guò)函數(shù)理解程序模塊化思想,從常用的文本文件、CSV文件、JSON文件介紹基本操作和數(shù)據(jù)處理方法。
第三部分(第7~8章)應(yīng)用Python,介紹Python圖形界面設(shè)計(jì)tkinter庫(kù),以及Python在繪圖、數(shù)據(jù)可視化、數(shù)據(jù)處理庫(kù)等方面的應(yīng)用。第7章介紹的tkinter庫(kù)讓Python程序更加形象直觀,提升程序交互和用戶體驗(yàn)。第8章通過(guò)Python在典型領(lǐng)域的實(shí)用案例,例如繪制中國(guó)結(jié)、生成二維碼、成績(jī)分析、獲取影評(píng)數(shù)據(jù)等,結(jié)合turtle、wordcloud、matplotlib、PIL、qrcode、NumPy、pandas、requests等庫(kù)的介紹,將之前的知識(shí)進(jìn)行綜合應(yīng)用。對(duì)于第8章的綜合應(yīng)用案例,提供了微視頻,幫助讀者更深入地理解綜合類項(xiàng)目的開(kāi)發(fā)步驟和具體實(shí)現(xiàn)方法。2. 本書(shū)特點(diǎn)
(1) 每章開(kāi)頭均包括學(xué)習(xí)目標(biāo)、內(nèi)容結(jié)構(gòu)圖、各例題知識(shí)要點(diǎn),讓讀者對(duì)本章內(nèi)容有清晰的了解。每章末尾均有小結(jié)和習(xí)題,用于鞏固本章的編程知識(shí)。
(2) 例題素材貼近生活,編排注重循序漸進(jìn),每個(gè)例題均按照程序思路分析、完整代碼、總結(jié)和思考進(jìn)行說(shuō)明。由淺入深地將Python程序設(shè)計(jì)方法貫穿到例題中,強(qiáng)化程序思維能力培養(yǎng)和編程應(yīng)用。
(3) 每章均有上機(jī)實(shí)驗(yàn),該環(huán)節(jié)通過(guò)綜合應(yīng)用實(shí)例,便于讀者對(duì)本章要點(diǎn)的融會(huì)貫通和再次強(qiáng)化。突出Python程序設(shè)計(jì)的實(shí)踐性和應(yīng)用性。
(4) 綜合運(yùn)用章節(jié),通過(guò)Python在各個(gè)領(lǐng)域的典型應(yīng)用案例,綜合運(yùn)用前面所學(xué)的知識(shí),把Python真正用起來(lái),解決實(shí)際問(wèn)題。
本書(shū)由梁愛(ài)華、張利霞任主編,全書(shū)由梁愛(ài)華進(jìn)行規(guī)劃設(shè)計(jì),北京聯(lián)合大學(xué)多個(gè)學(xué)院的老師參與了本書(shū)的編寫(xiě)工作。其中,第1章由梁愛(ài)華編寫(xiě),第2、3章由張利霞、李紅豫、倪景秀、王雪嶠編寫(xiě),第4章由馬桂真編寫(xiě),第5章由王雪嶠編寫(xiě),第6章由王波編寫(xiě),第7章由張利霞編寫(xiě),第8章由梁愛(ài)華編寫(xiě),張利霞、倪景秀提供了部分案例素材。全書(shū)由梁愛(ài)華、張利霞負(fù)責(zé)統(tǒng)稿和校訂,聶清林、湯海鳳、李紅豫、王雪嶠、倪景秀參與了校對(duì),徐歆愷提出了建議,所有編寫(xiě)教師均進(jìn)行了教學(xué)實(shí)踐。
本書(shū)提供全套教學(xué)課件、源代碼、課后習(xí)題答案、教學(xué)計(jì)劃及學(xué)時(shí)分配建議。配套資源可通過(guò)清華大學(xué)出版社官方網(wǎng)站的下載區(qū)下載或與作者聯(lián)系索取,作者的電子郵箱為liangaihua@buu.edu.cn。
在本書(shū)編寫(xiě)過(guò)程中,作者始終以科學(xué)嚴(yán)謹(jǐn)?shù)膽B(tài)度,力求精益求精,但限于作者水平,書(shū)中難免有不足和疏漏之處,懇請(qǐng)讀者批評(píng)和指正。Python程序設(shè)計(jì)與應(yīng)用前言
作者2022年4月
第1章Python概述1
1.1Python簡(jiǎn)介2
1.1.1計(jì)算機(jī)語(yǔ)言2
1.1.2Python語(yǔ)言的發(fā)展歷史2
1.1.3Python的應(yīng)用領(lǐng)域3
1.2開(kāi)發(fā)環(huán)境配置4
1.2.1下載和安裝開(kāi)發(fā)環(huán)境4
1.2.2其他開(kāi)發(fā)工具5
1.2.3編寫(xiě)第一個(gè)程序6
1.2.4查看幫助7
1.2.5第三方庫(kù)的安裝8
1.3基本輸入輸出9
1.3.1賦值語(yǔ)句9
1.3.2input()函數(shù)10
1.3.3print()函數(shù)11
1.3.4eval()函數(shù)12
1.4變量13
1.4.1關(guān)鍵字13
1.4.2變量命名14
1.5注釋與縮進(jìn)15
1.5.1注釋15
1.5.2縮進(jìn)15
1.6程序的編寫(xiě)方法16
1.7源程序打包16
1.8本章小結(jié)17
1.9上機(jī)實(shí)驗(yàn)17
習(xí)題19
第2章基本數(shù)據(jù)類型21
2.1數(shù)據(jù)類型22Python程序設(shè)計(jì)與應(yīng)用目錄2.2數(shù)值類型22
2.2.1整數(shù)類型22
2.2.2浮點(diǎn)數(shù)類型24
2.2.3復(fù)數(shù)類型25
2.2.4數(shù)值運(yùn)算25
2.3布爾類型32
2.4字符串類型33
2.4.1字符串表示33
2.4.2字符串編碼35
2.4.3字符串格式化39
2.4.4字符串索引與切片42
2.4.5字符串處理函數(shù)45
2.4.6字符串處理方法46
2.5數(shù)據(jù)類型轉(zhuǎn)換53
2.6本章小結(jié)54
2.7上機(jī)實(shí)驗(yàn)55
習(xí)題58
第3章程序控制結(jié)構(gòu)61
3.1程序結(jié)構(gòu)62
3.1.1程序流程圖62
3.1.2結(jié)構(gòu)化程序設(shè)計(jì)64
3.1.3程序的基本結(jié)構(gòu)64
3.2分支結(jié)構(gòu)65
3.2.1條件表達(dá)式65
3.2.2單分支結(jié)構(gòu)(if語(yǔ)句)66
3.2.3二分支結(jié)構(gòu)(ifelse語(yǔ)句)67
3.2.4多分支結(jié)構(gòu)(ifelifelse語(yǔ)句)69
3.2.5分支結(jié)構(gòu)嵌套72
3.3循環(huán)結(jié)構(gòu)74
3.3.1for循環(huán)74
3.3.2while循環(huán)79
3.3.3break和continue81
3.3.4帶else的循環(huán)83
3.3.5嵌套循環(huán)84
3.4random庫(kù)86
3.5異常處理89
3.5.1程序中的錯(cuò)誤89
3.5.2捕捉和處理異常90
3.6本章小結(jié)92
3.7上機(jī)實(shí)驗(yàn)92
習(xí)題98
第4章組合數(shù)據(jù)類型103
4.1概述104
4.2序列類型105
4.2.1序列的基本操作105
4.2.2序列的通用函數(shù)與方法108
4.2.3元組112
4.3列表115
4.3.1列表的基本操作116
4.3.2列表的方法119
4.3.3列表推導(dǎo)式123
4.3.4列表的典型應(yīng)用124
4.4集合127
4.4.1集合的基本操作127
4.4.2集合的函數(shù)和方法129
4.4.3集合的典型應(yīng)用132
4.5字典134
4.5.1字典的基本操作135
4.5.2字典的方法137
4.5.3字典的典型應(yīng)用139
4.6本章小結(jié)143
4.7上機(jī)實(shí)驗(yàn)143
習(xí)題145
第5章函數(shù)147
5.1函數(shù)的定義與調(diào)用148
5.1.1函數(shù)的定義148
5.1.2函數(shù)的調(diào)用149
5.2函數(shù)的參數(shù)傳遞150
5.2.1位置傳遞151
5.2.2關(guān)鍵字傳遞153
5.2.3可選參數(shù)153
5.2.4可變參數(shù)154
5.3函數(shù)的返回值155
5.3.1返回多個(gè)值155
5.3.2返回組合數(shù)據(jù)156
5.4局部變量和全局變量157
5.5lambda函數(shù)159
5.6函數(shù)遞歸160
5.7Python內(nèi)置函數(shù)163
5.8本章小結(jié)166
5.9上機(jī)實(shí)驗(yàn)166
習(xí)題167
第6章文件和數(shù)據(jù)處理170
6.1文件基本操作171
6.1.1文件的概念171
6.1.2文件的打開(kāi)與關(guān)閉171
6.1.3讀取文件175
6.1.4寫(xiě)入文件179
6.2CSV文件的讀寫(xiě)180
6.2.1讀取CSV格式文件181
6.2.2寫(xiě)入CSV格式文件185
6.3JSON格式與序列化188
6.3.1JSON格式字符串的序列化189
6.3.2JSON文件的序列化191
6.4os模塊192
6.5本章小結(jié)194
6.6上機(jī)實(shí)驗(yàn)194
習(xí)題198
第7章圖形界面設(shè)計(jì)199
7.1圖形用戶界面概述200
7.1.1圖形用戶界面200
7.1.2tkinter庫(kù)概述200
7.2布局管理器205
7.2.1pack布局管理器205
7.2.2grid布局管理器207
7.2.3place布局管理器210
7.3tkinter庫(kù)常用控件211
7.3.1標(biāo)簽Label211
7.3.2單行文本框Entry212
7.3.3按鈕Button213
7.3.4框架Frame和LabelFrame216
7.3.5單選按鈕Radiobutton216
7.3.6復(fù)選框Checkbutton217
7.3.7列表框ListBox220
7.3.8菜單Menu224
7.4對(duì)話框227
7.4.1通用消息對(duì)話框227
7.4.2文件選擇對(duì)話框230
7.4.3顏色選擇對(duì)話框232
7.4.4簡(jiǎn)單信息對(duì)話框234
7.5事件處理236
7.5.1事件序列236
7.5.2事件綁定238
7.6本章小結(jié)239
7.7上機(jī)實(shí)驗(yàn)239
習(xí)題241
第8章綜合應(yīng)用244
8.1繪圖應(yīng)用繪制中國(guó)結(jié)245
8.1.1turtle庫(kù)245
8.1.2繪制中國(guó)結(jié)248
8.2數(shù)據(jù)可視化應(yīng)用定制中文詞云251
8.2.1wordcloud庫(kù)251
8.2.2jieba庫(kù)253
8.2.3定制中文詞云254
8.3數(shù)據(jù)可視化應(yīng)用溫度變化展示256
8.3.1matplotlib庫(kù)256
8.3.2溫度變化分析260
8.4圖像處理應(yīng)用生成二維碼261
8.4.1PIL庫(kù)262
8.4.2qrcode庫(kù)263
8.4.3生成二維碼263
8.5數(shù)據(jù)分析應(yīng)用成績(jī)分析265
8.5.1NumPy庫(kù)265
8.5.2pandas庫(kù)267
8.5.3成績(jī)分析268
8.6網(wǎng)絡(luò)爬蟲(chóng)應(yīng)用獲取影評(píng)數(shù)據(jù)271
8.6.1網(wǎng)絡(luò)爬蟲(chóng)概述271
8.6.2網(wǎng)絡(luò)爬蟲(chóng)常用技術(shù)271
8.6.3獲取影評(píng)數(shù)據(jù)273
8.7本章小結(jié)275
8.8上機(jī)實(shí)驗(yàn)275
習(xí)題276
附錄APython關(guān)鍵字278
附錄BPython標(biāo)準(zhǔn)異常280
附錄CUnicode編碼和UTF8編碼282
參考文獻(xiàn)288