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