本書以培養(yǎng)零編程基礎(chǔ)的初學(xué)者從學(xué)習(xí)程序設(shè)計的基本概念到編寫實際應(yīng)用的軟件項目為主線,采用“任務(wù)驅(qū)動”的方式設(shè)計整個教學(xué)過程。全書按照理論與實踐一體化的教學(xué)方式組織編寫,便于教師采用邊理論講解、邊實踐操作的方式進行教學(xué),也方便學(xué)生進行自學(xué)。本書在內(nèi)容選取上既突出程序設(shè)計語言的通用性,又強調(diào)如何利用 Python 解決實際問題,將 Python 程序設(shè)計開發(fā)者所必須掌握的技能與知識點進行映射,并按照各階段學(xué)習(xí)者的認(rèn)知能力,將知識進行合理組織和裁剪。全書共 10 章,以循序漸進、深入淺出的方式對 Python 基本語法、流程控制語句、函數(shù)、面向?qū)ο蟆?shù)據(jù)處理、數(shù)據(jù)庫操作、爬蟲框架及數(shù)據(jù)分析的使用進行了講解,帶領(lǐng)讀者進入 Python 簡單而優(yōu)美的世界。在章節(jié)編排上,每章的知識內(nèi)容都對應(yīng)一個典型的 Python 編程場景,在場景中將這些知識分成內(nèi)容相關(guān)、難易程度遞進的 4 個小節(jié)。在每節(jié)理論知識講解之后,還都設(shè)有針對性強的課后實踐練習(xí),幫助讀者輕松理解知識、快速上手操作。最后 3 章還精心設(shè)計了 3 個與實際工作項目密切結(jié)合的典型案例,以幫助讀者進一步提升 Python 實戰(zhàn)開發(fā)能力。本書提供全套的教學(xué)課件、教學(xué)視頻、源代碼、課后實訓(xùn)解析、課程標(biāo)準(zhǔn)及參考授課計劃,配套資源可以登錄電子工業(yè)出版社官方網(wǎng)站下載。本書可作為高等職業(yè)院校和應(yīng)用型本科計算機相關(guān)專業(yè)程序設(shè)計類課程的專業(yè)課教材,也可作為廣大 Python 語言愛好者的學(xué)習(xí)參考書。
崔曉軍,男,教授,溫州職業(yè)技術(shù)學(xué)院信息技術(shù)學(xué)院院長,長期從事計算機相關(guān)專業(yè)的專業(yè)教學(xué)與教學(xué)管理,主持建設(shè)教育部骨干專業(yè)和浙江省十三五優(yōu)勢專業(yè)"計算機網(wǎng)絡(luò)技術(shù)”專業(yè),主持教育部骨干實訓(xùn)基地和浙江省示范性實訓(xùn)基地"智慧農(nóng)業(yè)實訓(xùn)基地”建設(shè),主持溫州市優(yōu)勢專業(yè)和優(yōu)勢特色專業(yè)群建設(shè)。近幾年主要從事數(shù)字農(nóng)業(yè)領(lǐng)域的科研與社會服務(wù)工作,主持溫州市工程技術(shù)中心和溫州市應(yīng)用技術(shù)協(xié)同創(chuàng)新中心建設(shè),當(dāng)選中國高等教育戰(zhàn)略學(xué)會人工智能與機器人教育專委會理事、CCF數(shù)字農(nóng)業(yè)分會首批執(zhí)行委員。
第 1 章 初識 Python 1
【本章簡介】 1
【知識目標(biāo)】 1
【技能目標(biāo)】 1
【思政目標(biāo)】 2
【課前預(yù)習(xí)】 2
1.1 Python 介紹 3
1.1.1 Python 的發(fā)展 3
1.1.2 Python 語言優(yōu)勢 3
1.1.3 配置 Python 開發(fā)環(huán)境 5
1.1.4 Python3.x 和 Python2.x 的
區(qū)別 6
1.1.5 第一個 Python 程序 6
1.1.6 學(xué)生實踐練習(xí) 9
1.2 Python IDE 開發(fā)工具 10
1.2.1 集成開發(fā)環(huán)境 10
1.2.2 創(chuàng)建 Python 工程 12
1.2.3 編碼規(guī)范 14
1.2.4 學(xué)生實踐練習(xí) 14
1.3 Python 變量及基本類型 15
1.3.1 變量 15
1.3.2 基本類型 15
1.3.3 類型轉(zhuǎn)換 17
1.3.4 學(xué)生實踐練習(xí) 18
1.4 輸入、輸出及代碼調(diào)試 19
1.4.1 輸入和輸出 19
1.4.2 代碼調(diào)試 26
1.4.3 學(xué)生實踐練習(xí) 27
1.5 閱讀材料 29
本章總結(jié) 30
本章實訓(xùn) 31
第 2 章 Python 基本語法 32
【本章簡介】 32
【知識目標(biāo)】 32
【技能目標(biāo)】 32
【思政目標(biāo)】 33
【課前預(yù)習(xí)】 33
2.1 數(shù)據(jù)運算 33
2.1.1 運算符 33
2.1.2 運算優(yōu)先級 36
2.1.3 學(xué)生實踐練習(xí) 38
2.2 選擇結(jié)構(gòu) 38
2.2.1 if 選擇結(jié)構(gòu) 38
2.2.2 if-else 選擇結(jié)構(gòu) 39
2.2.3 多重 if 語句 40
2.2.4 學(xué)生實踐練習(xí) 41
2.3 循環(huán)結(jié)構(gòu) 43
2.3.1 循環(huán)控制語句 43
2.3.2 while 循環(huán) 43
2.3.3 學(xué)生實踐練習(xí) 44
2.4 for 循環(huán) 45
2.4.1 in 操作符 45
2.4.2 for 循環(huán) 46
2.4.3 學(xué)生實踐練習(xí) 47
2.5 閱讀材料 48
本章總結(jié) 50
本章實訓(xùn) 50
第 3 章 Python 復(fù)雜數(shù)據(jù)類型 51
【本章簡介】 51
【知識目標(biāo)】 51
【技能目標(biāo)】 51
【思政目標(biāo)】 52
【課前預(yù)習(xí)】 52
3.1 列表 53
3.1.1 創(chuàng)建和訪問列表 53
3.1.2 列表的基本操作 57
3.1.3 列表的函數(shù)和方法 60
3.1.4 學(xué)生實踐練習(xí) 61
3.2 元組 62
3.2.1 創(chuàng)建元組 62
3.2.2 訪問元組元素 63
3.2.3 刪除元組 64
3.2.4 元組的其他操作 65
3.2.5 學(xué)生實踐練習(xí) 66
3.3 字典 67
3.3.1 創(chuàng)建字典 67
3.3.2 訪問字典元素 68
3.3.3 修改字典 69
3.3.4 刪除字典 69
3.3.5 字典的函數(shù)和方法 71
3.3.6 學(xué)生實踐練習(xí) 71
3.4 集合與嵌套 73
3.4.1 集合 73
3.4.2 4種類型的相互比較 77
3.4.3 復(fù)雜類型轉(zhuǎn)換 78
3.4.4 嵌套 84
3.4.5 學(xué)生實踐練習(xí) 87
3.5 閱讀材料 87
本章總結(jié) 89
本章實訓(xùn) 90
第 4 章 函數(shù) 91
【本章簡介】 91
【知識目標(biāo)】 91
【技能目標(biāo)】 92
【思政目標(biāo)】 92
【課前預(yù)習(xí)】 92
4.1 自定義函數(shù) 93
4.1.1 函數(shù)定義 93
4.1.2 函數(shù)調(diào)用 94
4.1.3 按值傳遞和引用傳遞 94
4.1.4 return 語句 96
4.1.5 學(xué)生實踐練習(xí) 97
4.2 函數(shù)的高級用法 97
4.2.1 傳遞參數(shù) 97
4.2.2 結(jié)合循環(huán)使用函數(shù) 101
4.2.3 函數(shù)模塊中的調(diào)用 102
4.2.4 學(xué)生實踐練習(xí) 104
4.3 字符串與集合函數(shù) 105
4.3.1 字符串的定義 105
4.3.2 字符串的常用函數(shù) 107
4.3.3 集合類操作函數(shù) 108
4.3.4 學(xué)生實踐練習(xí) 109
4.4 常用函數(shù) 111
4.4.1 print()函數(shù) 111
4.4.2 join()函數(shù)與 split()函數(shù) 112
4.4.3 enumerate()函數(shù)與 zip()
函數(shù) 113
4.4.4 lambda 匿名函數(shù) 115
4.4.5 學(xué)生實踐練習(xí) 116
4.5 閱讀材料 117
本章總結(jié) 118
本章實訓(xùn) 119
第 5 章 面向?qū)ο?120
【本章簡介】 120
【知識目標(biāo)】 120
【技能目標(biāo)】 120
【思政目標(biāo)】 121
【課前預(yù)習(xí)】 121
5.1 類和對象 121
5.1.1 類的定義 121
5.1.2 創(chuàng)建和使用對象 123
5.1.3 學(xué)生實踐練習(xí) 124
5.2 類的方法 125
5.2.1 方法的定義 125
5.2.2 方法的調(diào)用 126
5.2.3 構(gòu)造方法 126
5.2.4 學(xué)生實踐練習(xí) 127
5.3 繼承 130
5.3.1 繼承的概念 130
5.3.2 繼承的使用 131
5.3.3 學(xué)生實踐練習(xí) 133
5.4 模塊 134
5.4.1 自定義模塊 134
5.4.2 導(dǎo)入模塊 135
5.4.3 學(xué)生實踐練習(xí) 138
5.5 閱讀材料 139
本章總結(jié) 140
本章實訓(xùn) 141
第 6 章 數(shù)據(jù)處理 143
【本章簡介】 143
【知識目標(biāo)】 143
【技能目標(biāo)】 143
【思政目標(biāo)】 144
【課前預(yù)習(xí)】 144
6.1 文件 I/O 145
6.1.1 目錄的操作 145
6.1.2 文件讀取 146
6.1.3 文件寫入 149
6.1.4 學(xué)生實踐練習(xí) 150
6.2 JSON 和 XML 解析 151
6.2.1 JSON 字符串和 Python
對象的轉(zhuǎn)換 151
6.2.2 XML 解析 153
6.2.3 學(xué)生實踐練習(xí) 159
6.3 CSV 和 Excel 的高效解析 161
6.3.1 CSV 的解析 161
6.3.2 Excel 的解析 164
6.3.3 學(xué)生實踐練習(xí) 167
6.4 異常 169
6.4.1 異常拋出 169
6.4.2 異常捕捉 171
6.4.3 常見的異常 173
6.4.4 學(xué)生實踐練習(xí) 174
6.5 閱讀材料 175
本章總結(jié) 176
本章實訓(xùn) 177
第 7 章 數(shù)據(jù)庫 178
【本章簡介】 178
【知識目標(biāo)】 178
【技能目標(biāo)】 178
【思政目標(biāo)】 179
【課前預(yù)習(xí)】 179
7.1 數(shù)據(jù)庫連接 180
7.1.1 Python 數(shù)據(jù)庫接口
介紹 180
7.1.2 PyMySQL 的安裝 180
7.1.3 創(chuàng)建數(shù)據(jù)庫連接 181
7.1.4 學(xué)生實踐練習(xí) 182
7.2 數(shù)據(jù)庫查詢 183
7.2.1 SQL 語句執(zhí)行 183
7.2.2 查詢方法介紹 185
7.2.3 學(xué)生實踐練習(xí) 185
7.3 數(shù)據(jù)庫的增、刪、改操作 187
7.3.1 數(shù)據(jù)庫增、刪、改
操作 187
7.3.2 事務(wù)機制 188
7.3.3 學(xué)生實踐練習(xí) 190
7.4 數(shù)據(jù)庫操作的封裝 192
7.4.1 封裝介紹 192
7.4.2 對數(shù)據(jù)庫操作進行
封裝 194
7.4.3 學(xué)生實踐練習(xí) 195
7.5 閱讀材料 197
本章總結(jié) 199
本章實訓(xùn) 199
第 8 章 實戰(zhàn)項目之爬蟲和分詞 201
【本章簡介】 201
【知識目標(biāo)】 201
【技能目標(biāo)】 202
【思政目標(biāo)】 202
【課前預(yù)習(xí)】 202
8.1 項目需求 203
8.1.1 熱詞分析平臺 203
8.1.2 數(shù)據(jù)庫設(shè)計 204
8.1.3 網(wǎng)頁內(nèi)容分析 204
8.1.4 手機版網(wǎng)頁新聞的
獲取 206
8.1.5 學(xué)生實踐練習(xí) 208
8.2 爬蟲 208
8.2.1 爬蟲介紹 208
8.2.2 爬蟲框架 209
8.2.3 通過 URL 瀏覽網(wǎng)頁 211
8.2.4 urllib 模塊 211
8.2.5 POST 方式和 GET
方式 213
8.2.6 學(xué)生實踐練習(xí) 215
8.3 正則表達式 217
8.3.1 正則表達式介紹 217
8.3.2 語法規(guī)則 218
8.3.3 Re 模塊 219
8.3.4 學(xué)生實踐練習(xí) 224
8.4 分詞 226
8.4.1 分詞概述 226
8.4.2 常用分詞庫 228
8.4.3 結(jié)巴分詞 230
8.4.4 學(xué)生實踐練習(xí) 235
8.5 閱讀材料 236
本章總結(jié) 238
本章實訓(xùn) 238
第 9 章 實戰(zhàn)項目之 Scrapy 框架 240
【本章簡介】 240
【知識目標(biāo)】 240
【技能目標(biāo)】 240
【思政目標(biāo)】 241
【課前預(yù)習(xí)】 241
9.1 創(chuàng)建 Scrapy 工程 242
9.1.1 Scrapy 安裝與配置 242
9.1.2 創(chuàng)建 Scrapy 工程 243
9.1.3 Scrapy 實踐經(jīng)驗 246
9.1.4 學(xué)生實踐練習(xí) 248
9.2 網(wǎng)頁內(nèi)容解析 250
9.2.1 常用網(wǎng)頁解析工具
介紹 250
9.2.2 Scrapy 選擇器 251
9.2.3 使用 XPath 表達式解析
網(wǎng)頁 252
9.2.4 使用 CSS 表達式解析
網(wǎng)頁 253
9.2.5 學(xué)生實踐練習(xí) 254
9.3 Items 和 Spider 組件 255
9.3.1 Items 組件 255
9.3.2 Spider 組件 257
9.3.3 學(xué)生實踐練習(xí) 259
9.4 Pipeline 組件 262
9.4.1 Pipeline 組件介紹 262
9.4.2 下載器中間件 263
9.4.3 Spider 中間件 268
9.4.4 學(xué)生實踐練習(xí) 270
9.5 閱讀材料 274
本章總結(jié) 275
本章實訓(xùn) 276
第 10 章 實戰(zhàn)項目之Pandas 和
Matplotlib 277
【本章簡介】 277
【知識目標(biāo)】 277
【技能目標(biāo)】 277
【思政目標(biāo)】 278
【課前預(yù)習(xí)】 278
10.1 Pandas 入門 279
10.1.1 Pandas 安裝 279
10.1.2 Series 和 DataFrame
對象 280
10.1.3 索引對象 285
10.1.4 學(xué)生實踐練習(xí) 292
10.2 Pandas 運算 294
10.2.1 算術(shù)運算 294
10.2.2 排序 297
10.2.3 匯總統(tǒng)計 300
10.2.4 其他運算方法 301
10.2.5 處理缺失數(shù)據(jù) 303
10.2.6 學(xué)生實踐練習(xí) 304
10.3 Pandas 讀寫數(shù)據(jù) 306
10.3.1 CSV 文件的讀寫 306
10.3.2 Excel 文件的讀寫 308
10.3.3 MySQL 數(shù)據(jù)庫的
讀寫 310
10.3.4 學(xué)生實踐練習(xí) 312
10.4 Pandas 和 Matplotlib 繪圖 314
10.4.1 Matplotlib 繪圖 314
10.4.2 Pandas 繪圖 317
10.4.3 學(xué)生實踐練習(xí) 323
10.5 閱讀材料 325
本章總結(jié) 327
本章實訓(xùn) 327
參考文獻 329