本書以任務為導向,全面介紹Python編程基礎及其相關知識的應用,講解如何利用Python的知識解決部分實際問題。全書共9章,第1章介紹學習Python的準備工作,包括Python的由來、Python環(huán)境搭建、編輯器介紹與安裝等。第2~8章主要介紹Python的基礎知識、數(shù)據(jù)結構、程序流程控制語句、函數(shù)、面向對象編程、文件基礎和常用的內置模塊等內容。第9章介紹綜合案例:學生測試程序設計。除第9章外,本書其余各章都包含了實訓和課后習題,通過練習和操作實踐,幫助讀者鞏固所學的內容。
本書可用于“1+X”證書制度試點工作中的大數(shù)據(jù)應用開發(fā)(Python)職業(yè)技能等級(初級)證書相關內容的教學和培訓,也可作為高校大數(shù)據(jù)技術類專業(yè)課程的教材和大數(shù)據(jù)技術愛好者的自學用書。
1. 全書緊扣任務需求展開,不堆積知識點
2. 隨書附帶Python源碼,微課視頻,方便讀者系統(tǒng)學習并動手實踐
3. 實戰(zhàn)案例豐富
4. “1+X”大數(shù)據(jù)應用開發(fā)(Python)職業(yè)技能等級證書(初級)配套教材
張治斌,北京信息職業(yè)技術學院軟件與信息學院副院長、副教授,北京市職業(yè)院校優(yōu)秀青年骨干教師。主要研究方向為軟件開發(fā)、軟件測試、數(shù)據(jù)挖掘技術,任職以來在國家級出版社、國際和國內學術期刊上出版、發(fā)表著作、論文近25萬字;曾負責“國家職業(yè)教育計算機應用技術專業(yè)教學資源庫”《數(shù)據(jù)挖掘》課程子項目建設。
第 1章 準備工作 1
任務1.1 認識Python 2
1.1.1 初識Python 2
1.1.2 了解Python的起源 2
1.1.3 了解Python的特性 2
任務1.2 搭建Python環(huán)境 3
1.2.1 在Windows系統(tǒng)平臺安裝Python并配置環(huán)境變量 4
1.2.2 在Linux/UNIX系統(tǒng)平臺安裝Python并配置環(huán)境變量 10
1.2.3 開啟Python之旅 12
任務1.3 安裝PyCharm并創(chuàng)建一個應聲蟲程序 15
1.3.1 了解常用的Python IDE 15
1.3.2 認識PyCharm 16
1.3.3 安裝和使用PyCharm 16
1.3.4 創(chuàng)建應聲蟲程序 24
小結 26
實訓 輸入/輸出 27
課后習題 27
第 2章 Python基礎知識 28
任務2.1 掌握Python的固定語法 29
2.1.1 認識計算機語言 29
2.1.2 聲明Python編碼 29
2.1.3 加入代碼注釋 30
2.1.4 使用多行語句 31
2.1.5 縮進代碼 32
2.1.6 命名標識符與保留字符 33
2.1.7 調試Python代碼 33
任務2.2 創(chuàng)建字符串變量并提取里面的數(shù)值 34
2.2.1 了解Python變量 35
2.2.2 數(shù)值型變量的相互轉換 37
2.2.3 字符型數(shù)據(jù)的創(chuàng)建與基本操作 39
2.2.4 任務實現(xiàn) 43
任務2.3 計算圓形的各參數(shù) 43
2.3.1 掌握常用操作運算符 44
2.3.2 掌握運算符優(yōu)先級 52
2.3.3 任務實現(xiàn) 53
小結 54
實訓 54
實訓1 使用字符串索引求n天后是星期幾 54
實訓2 通過算術表達式計算幾何平均數(shù) 55
課后習題 55
第3章 Python數(shù)據(jù)結構 57
任務3.1 認識Python數(shù)據(jù)結構的組成 58
3.1.1 認識數(shù)據(jù)結構類型 58
3.1.2 區(qū)分可變數(shù)據(jù)類型與不可變數(shù)據(jù)類型 59
任務3.2 創(chuàng)建一個列表(list)并進行增刪改查操作 59
3.2.1 了解列表的概念與特性 60
3.2.2 創(chuàng)建列表 60
3.2.3 列表的基礎操作 61
3.2.4 掌握列表常用方法和函數(shù) 64
3.2.5 任務實現(xiàn) 69
任務3.3 轉換一個列表為元組(tuple)并進行取值操作 70
3.3.1 區(qū)分元組和列表 70
3.3.2 創(chuàng)建元組 70
3.3.3 掌握元組常用方法和函數(shù) 71
3.3.4 任務實現(xiàn) 74
任務3.4 創(chuàng)建一個字典(dictionary)并進行增刪改查操作 74
3.4.1 了解字典的概念與特性 75
3.4.2 解析字典的鍵與值 75
3.4.3 創(chuàng)建字典 75
3.4.4 提取字典元素 76
3.4.5 字典常用函數(shù) 78
3.4.6 任務實現(xiàn) 81
任務3.5 將兩個列表轉換為集合(set)并進行集合運算 82
3.5.1 了解集合的概念與特性 82
3.5.2 創(chuàng)建集合 83
3.5.3 集合運算 84
3.5.4 集合常用方法和函數(shù) 87
3.5.5 任務實現(xiàn) 88
小結 89
實訓 89
實訓1 使用列表對某超市銷售數(shù)據(jù)進行存儲、查詢與修改 89
實訓2 使用元組對學生成績進行管理 90
實訓3 使用字典創(chuàng)建簡單的貨物庫存查詢程序 90
實訓4 使用集合進行學生選課信息查詢 91
課后習題 91
第4章 程序流程控制語句 93
任務4.1 實現(xiàn)考試成績等級劃分 93
4.1.1 掌握if語句的基本結構 94
4.1.2 實現(xiàn)多路分支(else、elif) 94
4.1.3 運用try、except與else語句 95
4.1.4 任務實現(xiàn) 99
任務4.2 實現(xiàn)一組數(shù)的連加與連乘 100
4.2.1 編寫for循環(huán)語句 101
4.2.2 編寫while循環(huán)語句 102
4.2.3 運用break、continue與pass語句 103
4.2.4 任務實現(xiàn) 105
任務4.3 使用冒泡法排序 105
4.3.1 掌握嵌套循環(huán) 106
4.3.2 組合條件與循環(huán) 106
4.3.3 任務實現(xiàn) 107
任務4.4 輸出數(shù)字金字塔 108
4.4.1 多變量迭代 108
4.4.2 創(chuàng)建列表解析 109
4.4.3 任務實現(xiàn) 110
小結 111
實訓 111
實訓1 使用條件語句實現(xiàn)QQ登錄 111
實訓2 使用for循環(huán)輸出斐波那契數(shù)列并求和 112
課后習題 112
第5章 函數(shù) 114
任務5.1 自定義函數(shù)實現(xiàn)方差輸出 115
5.1.1 認識自定義函數(shù) 115
5.1.2 設置函數(shù)參數(shù) 115
5.1.3 返回函數(shù)值 117
5.1.4 調用自定義函數(shù) 118
5.1.5 掌握嵌套函數(shù) 120
5.1.6 區(qū)分局部變量和全局變量 121
5.1.7 任務實現(xiàn) 123
任務5.2 使用匿名函數(shù)添加列表元素 124
5.2.1 創(chuàng)建并使用匿名函數(shù) 124
5.2.2 其他常用高階函數(shù) 125
5.2.3 任務實現(xiàn) 127
任務5.3 存儲并導入函數(shù)模塊 128
5.3.1 存儲并導入整個模塊 128
5.3.2 導入函數(shù) 129
5.3.3 指定別名 129
5.3.4 任務實現(xiàn) 130
小結 131
實訓 131
實訓1 構建求指定區(qū)間內奇偶數(shù)的函數(shù) 131
實訓2 構建計算用餐總價格的函數(shù) 132
課后習題 132
第6章 面向對象編程 134
任務6.1 認識面向對象編程 135
6.1.1 了解面向對象編程及相關內容 135
6.1.2 體會面向對象實例 136
6.1.3 了解面向對象的優(yōu)點 137
6.1.4 何時使用面向對象編程 137
任務6.2 創(chuàng)建Car類 138
6.2.1 定義和使用類 138
6.2.2 綁定self 139
6.2.3 掌握類的專有方法 140
6.2.4 任務實現(xiàn) 141
任務6.3 創(chuàng)建Car對象 142
6.3.1 創(chuàng)建對象 142
6.3.2 刪除對象 143
6.3.3 掌握對象的屬性和方法 144
6.3.4 任務實現(xiàn) 147
任務6.4 迭代Car對象 148
6.4.1 生成迭代器 148
6.4.2 返回迭代器 151
6.4.3 任務實現(xiàn) 153
任務6.5 產生Land_Rover對象(子類) 155
6.5.1 繼承父類屬性和方法 155
6.5.2 其他方法 159
6.5.3 任務實現(xiàn) 160
小結 161
實訓 161
實訓1 在游戲中創(chuàng)建角色的屬性并對特定屬性進行私有化 161
實訓2 在游戲中采用重載和繼承機制創(chuàng)建法師角色屬性 162
課后習題 162
第7章 文件基礎 164
任務7.1 認識文件 164
7.1.1 文件的概念和類型 165
7.1.2 文件命名 166
任務7.2 讀取.txt文件中的數(shù)據(jù) 166
7.2.1 讀取整個文件 167
7.2.2 使用with語句讀取文件 168
7.2.3 設置工作路徑 169
7.2.4 創(chuàng)建含有文件數(shù)據(jù)的列表 170
7.2.5 任務實現(xiàn) 172
任務7.3 保存數(shù)據(jù)為CSV格式文件 173
7.3.1 將數(shù)據(jù)寫入.txt文件 173
7.3.2 讀寫CSV文件 176
7.3.3 任務實現(xiàn) 178
小結 178
實訓 179
實訓1 計算身高體重數(shù)據(jù)集的均值和方差 179
實訓2 實現(xiàn)文件的數(shù)據(jù)寫入 179
課后習題 180
第8章 Python常用的內置模塊 182
任務8.1 使用os、shutil模塊實現(xiàn)文件的增刪改查等操作 183
8.1.1 認識os模塊及shutil模塊 183
8.1.2 使用os模塊 184
8.1.3 使用shutil模塊 186
8.1.4 任務實現(xiàn) 189
任務8.2 使用math模塊實現(xiàn)數(shù)學計算 190
8.2.1 認識math模塊 190
8.2.2 運用三角函數(shù) 192
8.2.3 運用冪函數(shù)與對數(shù)函數(shù) 193
8.2.4 任務實現(xiàn) 194
任務8.3 使用random模塊生成隨機數(shù) 194
8.3.1 認識random模塊 195
8.3.2 生成隨機浮點數(shù) 196
8.3.3 生成隨機整數(shù) 196
8.3.4 從序列中生成隨機元素 197
8.3.5 任務實現(xiàn) 198
任務8.4 使用datetime模塊獲得用戶用餐時長 198
8.4.1 認識datetime模塊 199
8.4.2 時間數(shù)據(jù)基礎操作 200
8.4.3 算術運算時間數(shù)據(jù) 204
8.4.4 任務實現(xiàn) 206
任務8.5 使用re模塊獲得字符串中的名字、電話 207
8.5.1 認識re模塊 207
8.5.2 掌握re模塊常用函數(shù) 208
8.5.3 了解正則表達式語法 210
8.5.4 任務實現(xiàn) 213
小結 214
實訓 214
實訓1 運用os、shutil模塊實現(xiàn)文件的增刪改查操作 214
實訓2 運用math模塊實現(xiàn)三角函數(shù)、冪函數(shù)與對數(shù)函數(shù)的數(shù)學計算 215
實訓3 運用random模塊實現(xiàn)抽獎游戲 215
實訓4 運用datetime模塊計算天數(shù) 216
實訓5 運用正則表達式匹配字符串信息 216
課后習題 217
第9章 綜合案例:學生測試程序設計 219
任務9.1 了解學生測試程序設計的背景與方法 220
9.1.1 分析學生測試的背景 220
9.1.2 了解學生測試程序設計的思路和步驟 221
任務9.2 實現(xiàn)試卷的劃分 222
9.2.1 獲取學習幣 223
9.2.2 抽取試卷 224
任務9.3 構建測試程序 225
9.3.1 讀取試卷 226
9.3.2 獲取標準答案 228
9.3.3 計算測試評分 230
小結 232