《Python語言程序設(shè)計入門》以全國計算機等級考試二級Python語言程序設(shè)計考試大綱為指導(dǎo),圍繞Python語言的基礎(chǔ)語法和數(shù)據(jù)結(jié)構(gòu)組織編排講授內(nèi)容。全書共分8章,包括Python概述、Python語言基礎(chǔ)、Python程序的控制結(jié)構(gòu)、函數(shù)、組合數(shù)據(jù)類型、文件和數(shù)據(jù)格式化及模塊、包與庫的使用等內(nèi)容,后介紹了圖形用戶界面設(shè)計。 《Python語言程序設(shè)計入門》還結(jié)合教學(xué)內(nèi)容,合理地設(shè)計了一些課程思政案例,如社會主義核心價值觀知識問答程序,為更好地開展課程思政提供了便利條件。 《Python語言程序設(shè)計入門》實例豐富,注重利用Python解決實際問題能力的培養(yǎng),與《Python語言程序設(shè)計入門實驗指導(dǎo)》一起構(gòu)成了一套完整的教學(xué)用書,可作為高等學(xué)校的教學(xué)參考書,也可作為報考全國計算機等級考試(NCRE)人員的參考資料。 《Python語言程序設(shè)計入門》配套的電子課件、實例源文件和習(xí)題答案可以到http://www.tupwk.com.cn/downpage網(wǎng)站下載,也可以掃描前言中的二維碼下載。
基礎(chǔ)構(gòu)建:用通俗易懂的示例,幫助讀者理解 Python語言的基本概念、基礎(chǔ)知識和基本方法,扎實構(gòu)建程序設(shè)計基礎(chǔ)。
思維擴展:用耳熟能詳?shù)膶嵗?幫助讀者提高分析問題、解決問題的能力,掌握利用Python語言編寫程序解決實際問題的能力。
Python語言誕生于20世紀90年代,是一種跨平臺、開源、面向?qū)ο蟆⒔忉屝、動態(tài)數(shù)據(jù)類型的高級計算機程序設(shè)計語言,在Web開發(fā)、科學(xué)計算、人工智能、大數(shù)據(jù)分析和系統(tǒng)運維等領(lǐng)域得到廣泛應(yīng)用,深受人們的青睞。不論你是計算機類專業(yè)的學(xué)生,還是非計算機類專業(yè)的學(xué)生,也不論你是否有一定的編程基礎(chǔ),如果你想學(xué)習(xí)Python語言,我們相信這都是一套比較好的入門教材。
隨著計算機基礎(chǔ)教育形式的革新,2018年,大連民族大學(xué)計算機基礎(chǔ)實驗教學(xué)中心成立了Python語言課組,課組成員有焉德軍、李宏巖、鄭江超、隋勵麗、楊為明、若曼、鄭智強、王鐸等多名老師。從課組成立開始,課組成員多次組織集體備課,進行Python語言程序設(shè)計集中學(xué)習(xí),并多次參加各類Python語言程序設(shè)計相關(guān)的培訓(xùn)班:2019年4月,Python語言課組的五名教師,參加了在長沙舉辦的第三屆全國高校Python語言與計算生態(tài)教學(xué)研討會;2019年7月,Python語言課組全體成員參加了在南開大學(xué)舉辦的Python語言教學(xué)培訓(xùn)班;2019年8月,Python語言課組的兩名教師,參加了全國高校大數(shù)據(jù)聯(lián)盟舉辦的Python編程及大數(shù)據(jù)分析教師研修班;2020年1月,Python語言課組的兩名教師,參加了北京雷課教育舉辦的Python人工智能及大數(shù)據(jù)分析研修班;2020年1月,Python語言課組全體成員參加了由東華大學(xué)舉辦的Python語言與大數(shù)據(jù)培訓(xùn)。經(jīng)過一系列的培訓(xùn)和學(xué)習(xí)以及課組成員間的交流研討,我們對于有關(guān)Python語言課程的教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段等方面有了深刻了解,增強了在全校大范圍開設(shè)Python語言程序設(shè)計課程的信心。2019年秋季學(xué)期,計算機基礎(chǔ)實驗教學(xué)中心停開了已經(jīng)開設(shè)多年的VB程序設(shè)計課程和Access數(shù)據(jù)庫課程,在全校5個學(xué)院21個專業(yè)開設(shè)了Python語言程序設(shè)計課程。
經(jīng)過兩年的學(xué)習(xí)和教學(xué)實踐,Python語言課組積累了豐富的經(jīng)驗,著手編寫適合高校非計算機專業(yè)學(xué)生學(xué)習(xí)的教材《Python語言程序設(shè)計入門》和實驗教程《Python語言程序設(shè)計入門實驗指導(dǎo)》!禤ython語言程序設(shè)計入門》以全國計算機等級考試二級Python語言程序設(shè)計考試大綱為指導(dǎo),圍繞Python的基礎(chǔ)語法和數(shù)據(jù)結(jié)構(gòu)組織編排講授內(nèi)容,包含Python概述、Python語言基礎(chǔ)、Python程序的控制結(jié)構(gòu)、函數(shù)、組合數(shù)據(jù)類型、文件和數(shù)據(jù)格式化及模塊、包與庫的使用,此外還涉及圖形用戶界面設(shè)計等內(nèi)容!禤ython語言程序設(shè)計入門實驗指導(dǎo)》則包含4部分內(nèi)容:與主教材內(nèi)容相關(guān)的14個實驗項目;《Python語言程序設(shè)計入門》習(xí)題解答;Python語言的二級等級考試大綱和模擬題;網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化等項目實訓(xùn)。
為了更好地開展線上線下混合模式教學(xué),結(jié)合教材,我們錄制了44個MOOC教學(xué)視頻,總時長630分鐘,在中國大學(xué)MOOC的SPOC學(xué)校專有課程(大連民族大學(xué))上線(http://www.icourse163.org/course/preview/DLNU-1461020176?tid=1461806466)。同時,基于百科園通用考試平臺,我們構(gòu)建了Python語言程序設(shè)計題庫,為實施過程化考核和形成性評價奠定了扎實基礎(chǔ)。
為了更好地開展課程思政,結(jié)合教學(xué)內(nèi)容,我們合理地設(shè)計了一些課程思政案例,如鴻蒙操作系統(tǒng)、社會主義核心價值觀知識問答程序、習(xí)近平總書記在慶祝中華人民共和國成立70周年大會上的講話詞頻分析、《中共中央關(guān)于堅持和完善中國特色社會主義制度、推進國家治理體系和治理能力現(xiàn)代化若干重大問題的決定》詞云圖、繪制五星紅旗等,所有這些課程思政案例,與教學(xué)內(nèi)容緊密結(jié)合,不突兀,不牽強,因勢利導(dǎo)、順勢而為地自然融入,起到潤物無聲、潛移默化的效果。在潛移默化中,讓學(xué)生增長知識,堅定學(xué)生的理想信念,激發(fā)學(xué)生的愛國熱情,培養(yǎng)學(xué)生具有民族自信心和維護國家利益的責(zé)任感,喚醒學(xué)生為中華之崛起而讀書的原動力。
本套教材以程序設(shè)計初學(xué)者為對象,由淺入深、循序漸進地講述Python語言的基本概念、基本語法和數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)知識,包括Python語言開發(fā)環(huán)境的安裝、變量與數(shù)據(jù)類型、程序控制結(jié)構(gòu)、函數(shù)和模塊、文件、Python標準庫和第三方庫應(yīng)用等。
通過學(xué)習(xí)本套教材,可以讓程序設(shè)計初學(xué)者快速掌握程序設(shè)計的基本思想和一般方法,達到如下目標。
? 知識傳授目標:使學(xué)生掌握Python語言的數(shù)據(jù)類型、基本控制結(jié)構(gòu)、函數(shù)設(shè)計以及部分標準庫和擴展庫的使用;理解文件的基本處理方法;了解當下熱門領(lǐng)域的Python擴展庫的使用方法。
? 能力培養(yǎng)目標:培養(yǎng)學(xué)生分析問題、解決問題的能力,培養(yǎng)學(xué)生的計算思維和信息素養(yǎng),使學(xué)生掌握程序設(shè)計方法,具備利用Python語言編程解決實際問題的能力。
? 價值塑造目標:將科技創(chuàng)新、愛國主義精神等思政元素融入教學(xué),著眼于學(xué)生道德素養(yǎng)的熏陶濡染,培養(yǎng)學(xué)生一絲不茍、嚴謹認真、求真務(wù)實的工作態(tài)度和工匠精神,為學(xué)生學(xué)習(xí)后續(xù)課程、參加工作和開展科學(xué)研究打下良好基礎(chǔ)。
在本套教材的編寫過程中,我們參閱了很多Python語言方面的圖書資料和網(wǎng)絡(luò)資源,借鑒和吸收了其中的很多寶貴經(jīng)驗,在此向這些作者表示衷心的感謝。由于編者水平有限,書中難免有疏漏之處,敬請各位同行和讀者批評指正,在此表示感謝。我們的郵箱是992116@qq.com,電話是010-62796045。
《Python語言程序設(shè)計入門》配套的電子課件、實例源文件和習(xí)題答案可以到http://www.tupwk.com.cn/downpage網(wǎng)站下載,也可以掃描下方的二維碼下載。
作者
2021年4月
第1章 Python概述 1
1.1 計算機系統(tǒng)簡介 1
1.1.1 計算機系統(tǒng)的組成 1
1.1.2 計算機硬件系統(tǒng) 2
1.1.3 計算機軟件系統(tǒng) 3
1.2 數(shù)制與編碼 5
1.2.1 數(shù)制的基本概念 5
1.2.2 常用的數(shù)制 6
1.2.3 數(shù)制間的轉(zhuǎn)換 7
1.2.4 數(shù)據(jù)在計算機中的表示方式 9
1.2.5 字符編碼 11
1.3 Python語言簡介 12
1.3.1 Python語言發(fā)展簡史 12
1.3.2 Python語言的特點 13
1.3.3 Python語言的應(yīng)用領(lǐng)域 14
1.4 Python語言開發(fā)環(huán)境 14
1.4.1 下載和安裝Python 14
1.4.2 內(nèi)置的IDLE開發(fā)環(huán)境 18
1.4.3 Python常用的其他一些集成開發(fā)環(huán)境 19
1.5 初識Python程序 20
1.5.1 把Python解釋器當作計算器使用 20
1.5.2 Python程序示例 22
1.5.3 Python程序編碼規(guī)范 24
1.5.4 Python的幫助文檔 25
1.6 習(xí)題 27
第2章 Python語言基礎(chǔ) 29
2.1 標識符與關(guān)鍵字 29
2.1.1 標識符 29
2.1.2 關(guān)鍵字 29
2.1.3 Python內(nèi)置的標準函數(shù) 30
2.2 變量與常量 30
2.2.1 變量 30
2.2.2 常量 31
2.3 數(shù)據(jù)類型 32
2.3.1 數(shù)字類型 32
2.3.2 字符串類型 35
2.3.3 列表、元組、字典和集合簡介 43
2.4 類型判斷和類型間轉(zhuǎn)換 49
2.4.1 類型判斷 49
2.4.2 類型間轉(zhuǎn)換 49
2.5 基本輸入輸出函數(shù) 51
2.5.1 input()函數(shù) 51
2.5.2 print()函數(shù) 51
2.6 運算符 52
2.6.1 算術(shù)運算符 52
2.6.2 比較運算符 53
2.6.3 邏輯運算符 53
2.6.4 賦值運算符 53
2.6.5 成員運算符 54
2.6.6 身份運算符 54
2.6.7 位運算符 55
2.6.8 運算符的優(yōu)先級和結(jié)合性 56
2.7 應(yīng)用問題選講 57
2.8 習(xí)題 60
第3章 Python程序的控制結(jié)構(gòu) 63
3.1 順序結(jié)構(gòu) 63
3.2 分支結(jié)構(gòu) 64
3.2.1 單分支結(jié)構(gòu):if語句 64
3.2.2 雙分支結(jié)構(gòu):if-else語句 65
3.2.3 多分支結(jié)構(gòu):if-elif-else語句 65
3.2.4 分支嵌套 67
3.3 循環(huán)結(jié)構(gòu) 68
3.3.1 條件循環(huán):while語句 68
3.3.2 遍歷循環(huán):for語句 69
3.3.3 循環(huán)的嵌套 71
3.4 break、continue和pass語句 72
3.4.1 break語句 72
3.4.2 continue語句 73
3.4.3 pass語句 73
3.5 循環(huán)結(jié)構(gòu)中的else語句 73
3.6 程序的異常處理:try-except 74
3.7 應(yīng)用問題選講 76
3.8 習(xí)題 84
第4章 函數(shù) 87
4.1 函數(shù)的定義與調(diào)用 87
4.1.1 定義函數(shù) 87
4.1.2 調(diào)用函數(shù) 88
4.2 函數(shù)的參數(shù)與返回值 89
4.2.1 參數(shù)傳遞 89
4.2.2 位置參數(shù) 90
4.2.3 關(guān)鍵字參數(shù) 91
4.2.4 帶默認值的參數(shù) 92
4.2.5 可變長參數(shù) 92
4.2.6 函數(shù)的返回值 94
4.3 匿名函數(shù) 94
4.4 函數(shù)的嵌套調(diào)用與遞歸調(diào)用 95
4.4.1 函數(shù)的嵌套調(diào)用 95
4.4.2 函數(shù)的遞歸調(diào)用 97
4.5 變量的作用域 99
4.5.1 局部變量 99
4.5.2 全局變量 100
4.5.3 global語句 101
4.6 應(yīng)用問題選講 102
4.7 習(xí)題 105
第5章 組合數(shù)據(jù)類型 109
5.1 列表 109
5.1.1 列表及其操作方法 109
5.1.2 遍歷列表 111
5.1.3 復(fù)制列表 112
5.1.4 列表推導(dǎo)式 115
5.1.5 二維列表 116
5.2 元組 117
5.3 字典 118
5.3.1 字典及其操作方法 118
5.3.2 遍歷字典 120
5.4 集合 122
5.4.1 集合及其操作方法 122
5.4.2 遍歷集合 123
5.4.3 集合中的運算 123
5.5 應(yīng)用問題選講 124
5.6 習(xí)題 130
第6章 文件和數(shù)據(jù)格式化 135
6.1 文件概述 135
6.2 文件的基本操作 136
6.2.1 文件的打開與關(guān)閉 136
6.2.2 文件的讀/寫 138
6.2.3 文件的定位讀/寫 140
6.3 采用CSV格式讀/寫文件 141
6.3.1 CSV文件概述 141
6.3.2 讀/寫CSV文件 141
6.4 讀/寫JSON文件 144
6.5 應(yīng)用問題選講 146
6.6 習(xí)題 147
第7章 模塊、包與庫 149
7.1 模塊 149
7.1.1 模塊的概念 149
7.1.2 模塊的導(dǎo)入與使用 149
7.1.3 模塊搜索路徑 154
7.2 Python中的包 156
7.3 Python中的標準庫 156
7.3.1 math庫 156
7.3.2 random庫 158
7.3.3 time庫 159
7.3.4 turtle庫 161
7.4 Python中的第三方庫 166
7.4.1 第三方庫簡介 166
7.4.2 下載與安裝第三方庫 167
7.4.3 使用PyInstaller打包文件 168
7.4.4 jieba庫 169
7.4.5 wordcloud庫 171
7.5 應(yīng)用問題選講 175
7.6 習(xí)題 178
第8章 圖形用戶界面設(shè)計 181
8.1 圖形用戶界面概述 181
8.1.1 圖形用戶界面概念的引入 181
8.1.2 常用的設(shè)計圖形用戶界面的模塊 182
8.1.3 tkinter模塊 183
8.1.4 tkinter組件常用的標準屬性 185
8.1.5 tkinter組件的幾何布局管理器 187
8.2 tkinter的常用組件 189
8.2.1 標簽組件Label 189
8.2.2 按鈕組件Button 189
8.2.3 文本框組件Entry 190
8.2.4 列表框組件Listbox 192
8.2.5 單選按鈕組件Radiobutton 194
8.2.6 復(fù)選框組件Checkbutton 195
8.2.7 菜單組件Menu 196
8.2.8 子窗體組件Toplevel 198
8.2.9 其他一些常用組件 199
8.3 tkinter的事件處理 199
8.3.1 事件類型 199
8.3.2 使用command參數(shù)實現(xiàn)事件處理 200
8.3.3 使用bind()方法實現(xiàn)事件處理 201
8.4 應(yīng)用問題選講 201
8.5 習(xí)題 203
參考文獻 205
附錄 字符與ASCII碼對照表 207