《Python語言程序設計入門》以全國計算機等級考試二級Python語言程序設計考試大綱為指導,圍繞Python語言的基礎語法和數(shù)據(jù)結構組織編排講授內(nèi)容。全書共分8章,包括Python概述、Python語言基礎、Python程序的控制結構、函數(shù)、組合數(shù)據(jù)類型、文件和數(shù)據(jù)格式化及模塊、包與庫的使用等內(nèi)容,后介紹了圖形用戶界面設計。 《Python語言程序設計入門》還結合教學內(nèi)容,合理地設計了一些課程思政案例,如社會主義核心價值觀知識問答程序,為更好地開展課程思政提供了便利條件。 《Python語言程序設計入門》實例豐富,注重利用Python解決實際問題能力的培養(yǎng),與《Python語言程序設計入門實驗指導》一起構成了一套完整的教學用書,可作為高等學校的教學參考書,也可作為報考全國計算機等級考試(NCRE)人員的參考資料。 《Python語言程序設計入門》配套的電子課件、實例源文件和習題答案可以到http://www.tupwk.com.cn/downpage網(wǎng)站下載,也可以掃描前言中的二維碼下載。
基礎構建:用通俗易懂的示例,幫助讀者理解 Python語言的基本概念、基礎知識和基本方法,扎實構建程序設計基礎。
思維擴展:用耳熟能詳?shù)膶嵗?幫助讀者提高分析問題、解決問題的能力,掌握利用Python語言編寫程序解決實際問題的能力。
Python語言誕生于20世紀90年代,是一種跨平臺、開源、面向對象、解釋型、動態(tài)數(shù)據(jù)類型的高級計算機程序設計語言,在Web開發(fā)、科學計算、人工智能、大數(shù)據(jù)分析和系統(tǒng)運維等領域得到廣泛應用,深受人們的青睞。不論你是計算機類專業(yè)的學生,還是非計算機類專業(yè)的學生,也不論你是否有一定的編程基礎,如果你想學習Python語言,我們相信這都是一套比較好的入門教材。
隨著計算機基礎教育形式的革新,2018年,大連民族大學計算機基礎實驗教學中心成立了Python語言課組,課組成員有焉德軍、李宏巖、鄭江超、隋勵麗、楊為明、若曼、鄭智強、王鐸等多名老師。從課組成立開始,課組成員多次組織集體備課,進行Python語言程序設計集中學習,并多次參加各類Python語言程序設計相關的培訓班:2019年4月,Python語言課組的五名教師,參加了在長沙舉辦的第三屆全國高校Python語言與計算生態(tài)教學研討會;2019年7月,Python語言課組全體成員參加了在南開大學舉辦的Python語言教學培訓班;2019年8月,Python語言課組的兩名教師,參加了全國高校大數(shù)據(jù)聯(lián)盟舉辦的Python編程及大數(shù)據(jù)分析教師研修班;2020年1月,Python語言課組的兩名教師,參加了北京雷課教育舉辦的Python人工智能及大數(shù)據(jù)分析研修班;2020年1月,Python語言課組全體成員參加了由東華大學舉辦的Python語言與大數(shù)據(jù)培訓。經(jīng)過一系列的培訓和學習以及課組成員間的交流研討,我們對于有關Python語言課程的教學內(nèi)容、教學方法、教學手段等方面有了深刻了解,增強了在全校大范圍開設Python語言程序設計課程的信心。2019年秋季學期,計算機基礎實驗教學中心停開了已經(jīng)開設多年的VB程序設計課程和Access數(shù)據(jù)庫課程,在全校5個學院21個專業(yè)開設了Python語言程序設計課程。
經(jīng)過兩年的學習和教學實踐,Python語言課組積累了豐富的經(jīng)驗,著手編寫適合高校非計算機專業(yè)學生學習的教材《Python語言程序設計入門》和實驗教程《Python語言程序設計入門實驗指導》!禤ython語言程序設計入門》以全國計算機等級考試二級Python語言程序設計考試大綱為指導,圍繞Python的基礎語法和數(shù)據(jù)結構組織編排講授內(nèi)容,包含Python概述、Python語言基礎、Python程序的控制結構、函數(shù)、組合數(shù)據(jù)類型、文件和數(shù)據(jù)格式化及模塊、包與庫的使用,此外還涉及圖形用戶界面設計等內(nèi)容!禤ython語言程序設計入門實驗指導》則包含4部分內(nèi)容:與主教材內(nèi)容相關的14個實驗項目;《Python語言程序設計入門》習題解答;Python語言的二級等級考試大綱和模擬題;網(wǎng)絡爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化等項目實訓。
為了更好地開展線上線下混合模式教學,結合教材,我們錄制了44個MOOC教學視頻,總時長630分鐘,在中國大學MOOC的SPOC學校專有課程(大連民族大學)上線(http://www.icourse163.org/course/preview/DLNU-1461020176?tid=1461806466)。同時,基于百科園通用考試平臺,我們構建了Python語言程序設計題庫,為實施過程化考核和形成性評價奠定了扎實基礎。
為了更好地開展課程思政,結合教學內(nèi)容,我們合理地設計了一些課程思政案例,如鴻蒙操作系統(tǒng)、社會主義核心價值觀知識問答程序、習近平總書記在慶祝中華人民共和國成立70周年大會上的講話詞頻分析、《中共中央關于堅持和完善中國特色社會主義制度、推進國家治理體系和治理能力現(xiàn)代化若干重大問題的決定》詞云圖、繪制五星紅旗等,所有這些課程思政案例,與教學內(nèi)容緊密結合,不突兀,不牽強,因勢利導、順勢而為地自然融入,起到潤物無聲、潛移默化的效果。在潛移默化中,讓學生增長知識,堅定學生的理想信念,激發(fā)學生的愛國熱情,培養(yǎng)學生具有民族自信心和維護國家利益的責任感,喚醒學生為中華之崛起而讀書的原動力。
本套教材以程序設計初學者為對象,由淺入深、循序漸進地講述Python語言的基本概念、基本語法和數(shù)據(jù)結構等基礎知識,包括Python語言開發(fā)環(huán)境的安裝、變量與數(shù)據(jù)類型、程序控制結構、函數(shù)和模塊、文件、Python標準庫和第三方庫應用等。
通過學習本套教材,可以讓程序設計初學者快速掌握程序設計的基本思想和一般方法,達到如下目標。
? 知識傳授目標:使學生掌握Python語言的數(shù)據(jù)類型、基本控制結構、函數(shù)設計以及部分標準庫和擴展庫的使用;理解文件的基本處理方法;了解當下熱門領域的Python擴展庫的使用方法。
? 能力培養(yǎng)目標:培養(yǎng)學生分析問題、解決問題的能力,培養(yǎng)學生的計算思維和信息素養(yǎng),使學生掌握程序設計方法,具備利用Python語言編程解決實際問題的能力。
? 價值塑造目標:將科技創(chuàng)新、愛國主義精神等思政元素融入教學,著眼于學生道德素養(yǎng)的熏陶濡染,培養(yǎng)學生一絲不茍、嚴謹認真、求真務實的工作態(tài)度和工匠精神,為學生學習后續(xù)課程、參加工作和開展科學研究打下良好基礎。
在本套教材的編寫過程中,我們參閱了很多Python語言方面的圖書資料和網(wǎng)絡資源,借鑒和吸收了其中的很多寶貴經(jīng)驗,在此向這些作者表示衷心的感謝。由于編者水平有限,書中難免有疏漏之處,敬請各位同行和讀者批評指正,在此表示感謝。我們的郵箱是992116@qq.com,電話是010-62796045。
《Python語言程序設計入門》配套的電子課件、實例源文件和習題答案可以到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ù)制間的轉換 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語言的應用領域 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 習題 27
第2章 Python語言基礎 29
2.1 標識符與關鍵字 29
2.1.1 標識符 29
2.1.2 關鍵字 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 類型判斷和類型間轉換 49
2.4.1 類型判斷 49
2.4.2 類型間轉換 49
2.5 基本輸入輸出函數(shù) 51
2.5.1 input()函數(shù) 51
2.5.2 print()函數(shù) 51
2.6 運算符 52
2.6.1 算術運算符 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)先級和結合性 56
2.7 應用問題選講 57
2.8 習題 60
第3章 Python程序的控制結構 63
3.1 順序結構 63
3.2 分支結構 64
3.2.1 單分支結構:if語句 64
3.2.2 雙分支結構:if-else語句 65
3.2.3 多分支結構:if-elif-else語句 65
3.2.4 分支嵌套 67
3.3 循環(huán)結構 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)結構中的else語句 73
3.6 程序的異常處理:try-except 74
3.7 應用問題選講 76
3.8 習題 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 關鍵字參數(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 應用問題選講 102
4.7 習題 105
第5章 組合數(shù)據(jù)類型 109
5.1 列表 109
5.1.1 列表及其操作方法 109
5.1.2 遍歷列表 111
5.1.3 復制列表 112
5.1.4 列表推導式 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 應用問題選講 124
5.6 習題 130
第6章 文件和數(shù)據(jù)格式化 135
6.1 文件概述 135
6.2 文件的基本操作 136
6.2.1 文件的打開與關閉 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 應用問題選講 146
6.6 習題 147
第7章 模塊、包與庫 149
7.1 模塊 149
7.1.1 模塊的概念 149
7.1.2 模塊的導入與使用 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 應用問題選講 175
7.6 習題 178
第8章 圖形用戶界面設計 181
8.1 圖形用戶界面概述 181
8.1.1 圖形用戶界面概念的引入 181
8.1.2 常用的設計圖形用戶界面的模塊 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 復選框組件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 應用問題選講 201
8.5 習題 203
參考文獻 205
附錄 字符與ASCII碼對照表 207