Python作為編程語言的一種,具有高效率、可移植、可擴展、可嵌入、易于維護等優(yōu)點;Python語法簡潔、代碼高度規(guī)范、功能強大且簡單易學,是程序開發(fā)者必學的語言之一。 本書注重基礎、內(nèi)容豐富、結構合理、思路清晰、語言簡練流暢、示例翔實,系統(tǒng)地講述了Python程序設計開發(fā)相關基礎知識。本書分為11章,主要內(nèi)容包括:Python與編程環(huán)境、Python語法基礎、程序基本流程控制、典型序列數(shù)據(jù)結構、函數(shù)與函數(shù)式編程、面向對象編程基礎、Python文件操作、使用模塊和庫編程、NumPy數(shù)值計算、Pandas數(shù)據(jù)處理分析、Matplotlib庫與數(shù)據(jù)可視化。 為提升學習效果,書中結合實際應用提供了大量的案例進行說明和訓練,并配以完善的學習資料和支持服務,包括教學PPT、教學大綱、源代碼、教學視頻、配套軟件等,為讀者帶來全方位的學習體驗。 本書既可作為高等院校計算機相關專業(yè)學生的Python課程的教材,也可作為自學者使用的輔助書,還是一本適用于程序開發(fā)初學者的入門級指導書。
李輝,男,博士,研究生導師,中國農(nóng)業(yè)大學計算中心主任兼農(nóng)業(yè)大數(shù)據(jù)實驗室主任,教育部審核評估、合格評估、工程教育專業(yè)認證專家組成員,農(nóng)業(yè)農(nóng)村部全國蘋果大數(shù)據(jù)發(fā)展應用協(xié)作組專家咨詢委員會委員,教育部人工智能領域機器學習知識領域專家協(xié)作組專家,北京市大數(shù)據(jù)教學實踐基地負責人,智慧養(yǎng)殖產(chǎn)業(yè)研究院負責人,山東省泰山產(chǎn)業(yè)(智慧農(nóng)業(yè))領軍團隊核心人才,海南省科技專家,北京市重大信息化項目評審專家,中國大數(shù)據(jù)技術與應用聯(lián)盟智庫專家,世界職業(yè)院校技能大賽(人工智能賽道)專家,中國農(nóng)業(yè)大學數(shù)據(jù)科學與大數(shù)據(jù)技術輔修、數(shù)據(jù)分析技術與應用和人工智能基礎應用微專業(yè)的建設負責人。主要從事數(shù)據(jù)科學與智能系統(tǒng)研發(fā)、高等教育教學改革與創(chuàng)新等方面的研究工作。
目錄
第1章 Python與編程環(huán)境 1
1.1 計算機程序與編程語言 1
1.1.1 計算機程序 2
1.1.2 計算機編程語言 2
1.1.3 計算機編程語言的編譯與解釋 2
1.2 Python概述 3
1.2.1 Python的起源與發(fā)展 3
1.2.2 Python的特點 3
1.2.3 Python的應用領域與發(fā)展趨勢 4
1.3 Python、PyCharm的安裝與配置 5
1.3.1 常見的Python開發(fā)工具 5
1.3.2 Python 3.12.4的下載與安裝 6
1.3.3 Python開發(fā)環(huán)境IDLE及其使用 7
1.3.4 PyCharm的安裝與配置 9
本章小結 14
思考與練習 14
第2章 Python語法基礎 15
2.1 編碼規(guī)范 16
2.2 關鍵字與標識符 17
2.2.1 關鍵字 17
2.2.2 標識符 17
2.3 變量和賦值 18
2.3.1 變量的定義 19
2.3.2 變量的命名 20
2.3.3 變量值的使用與存儲 20
2.4 數(shù)據(jù)類型 22
2.4.1 常見的數(shù)據(jù)類型 22
2.4.2 數(shù)據(jù)類型的判斷方法 25
2.4.3 數(shù)據(jù)類型轉換 26
2.5 輸入/輸出函數(shù) 27
2.5.1 input()函數(shù) 27
2.5.2 print()函數(shù) 28
2.5.3 字符串的格式化輸出 28
2.6 運算符和表達式 31
2.6.1 運算符 31
2.6.2 表達式 34
2.7 綜合應用實踐:模擬農(nóng)場日常管理系統(tǒng) 35
本章小結 35
思考與練習 36
第3章 程序基本流程控制 37
3.1 選擇結構語句 37
3.1.1 單分支結構 38
3.1.2 雙分支結構 38
3.1.3 多分支結構 39
3.1.4 嵌套分支結構 40
3.2 循環(huán)結構語句 40
3.2.1 while語句 41
3.2.2 for語句 41
3.2.3 嵌套循環(huán) 43
3.3 break、continue、else和pass語句 44
3.4 assert語句 46
3.5 結構化模式匹配語句 47
3.6 程序的錯誤與異常處理 49
3.6.1 程序的錯誤與處理 49
3.6.2 程序的異常與處理 49
3.7 綜合應用實踐:構建模擬智能灌溉決策系統(tǒng) 51
本章小結 51
思考與練習 52
第4章 典型序列數(shù)據(jù)結構 54
4.1 序列 55
4.1.1 序列概述 55
4.1.2 序列的基本操作 55
4.2 列表的創(chuàng)建與操作 61
4.2.1 創(chuàng)建列表 61
4.2.2 獲取列表元素 62
4.2.3 常用的列表操作方法 63
4.3 元組的創(chuàng)建與操作 67
4.3.1 創(chuàng)建元組 67
4.3.2 獲取元組元素 68
4.3.3 元組操作 69
4.4 字典的創(chuàng)建與操作 70
4.4.1 創(chuàng)建字典 70
4.4.2 獲取元素 71
4.5 集合的創(chuàng)建與操作 74
4.5.1 創(chuàng)建集合 74
4.5.2 集合操作 74
4.6 推導式及其應用 75
4.6.1 列表推導式與應用 75
4.6.2 元組推導式與應用 76
4.6.3 字典推導式與應用 78
4.6.4 集合推導式與應用 78
4.7 序列數(shù)據(jù)結構的判斷與轉換 79
4.7.1 列表和元組轉換 79
4.7.2 列表、元組和集合的轉換 80
4.8 字符串操作與正則表達式應用 80
4.8.1 字符串的常見操作 80
4.8.2 使用正則表達式處理字符串的步驟 82
4.8.3 Python支持的正則表達式語法 83
4.8.4 使用正則表達式處理字符串 85
4.9 綜合應用實踐:模擬森林火災風險預測模型 90
本章小結 92
思考與練習 92
第5章 函數(shù)與函數(shù)式編程 95
5.1 內(nèi)置函數(shù) 96
5.2 自定義函數(shù)與調(diào)用 96
5.2.1 函數(shù)的定義 96
5.2.2 函數(shù)的調(diào)用 97
5.2.3 函數(shù)的返回值 98
5.3 函數(shù)參數(shù)與參數(shù)傳遞方式 99
5.3.1 固定位置參數(shù)傳遞 101
5.3.2 默認值參數(shù)傳遞 102
5.3.3 未知參數(shù)個數(shù)(可變)傳遞 102
5.3.4 關鍵字參數(shù)傳遞 104
5.4 變量的作用域 105
5.4.1 局部變量 105
5.4.2 全局變量 105
5.4.3 全局變量與局部變量的獲取方法 108
5.5 函數(shù)的遞歸與嵌套 110
5.5.1 函數(shù)的遞歸 110
5.5.2 函數(shù)的嵌套 111
5.6 函數(shù)式編程 112
5.6.1 lambda匿名函數(shù) 112
5.6.2 map()函數(shù) 114
5.6.3 reduce()函數(shù) 114
5.6.4 filter()函數(shù) 115
5.6.5 zip()函數(shù) 116
5.7 綜合應用實踐:農(nóng)作物生長周期數(shù)據(jù)分析 117
本章小結 118
思考與練習 119
第6章 面向對象編程基礎 120
6.1 類與對象 120
6.2 類的定義與實例化 121
6.2.1 類的定義 121
6.2.2 類的實例化 122
6.3 實例與類的對象屬性 122
6.3.1 實例對象屬性 122
6.3.2 類對象屬性 123
6.3.3 類對象屬性與實例對象屬性的區(qū)別和聯(lián)系 124
6.4 成員屬性與成員方法 124
6.4.1 成員屬性 124
6.4.2 成員方法 127
6.5 類的繼承與多態(tài) 132
6.5.1 類的繼承與多重繼承 132
6.5.2 多態(tài)與多態(tài)性 136
6.6 綜合應用實踐:模擬和管理不同農(nóng)作物的生長過程 139
本章小結 141
思考與練習 142
第7章 Python文件操作 144
7.1 文件數(shù)據(jù)與文件操作 144
7.1.1 文件數(shù)據(jù)的組織形式 145
7.1.2 文件的操作方法 145
7.2 CSV文件讀取與寫入操作 148
7.2.1 讀取CSV文件 148
7.2.2 CSV文件寫入與關閉 149
7.3 文件操作的應用 150
7.3.1 數(shù)據(jù)的維度 150
7.3.2 一維和二維數(shù)據(jù)的讀/寫 150
7.4 綜合應用實踐:模擬森林資源管理 153
本章小結 154
思考與練習 155
第8章 使用模塊和庫編程 157
8.1 模塊的使用與創(chuàng)建 158
8.1.1 模塊概述 158
8.1.2 模塊的導入 159
8.1.3 模塊的自定義與使用 160
8.2 包的創(chuàng)建與使用 162
8.2.1 創(chuàng)建包 162
8.2.2 使用包 163
8.3 常見標準庫的使用 163
8.3.1 Turtle庫的使用 163
8.3.2 Random庫的使用 166
8.3.3 時間和日期庫的使用 168
8.4 常見的第三方庫 170
8.4.1 第三方庫的安裝 170
8.4.2 中文處理相關庫 172
8.4.3 網(wǎng)絡爬蟲相關庫 175
8.4.4 其他第三方庫簡介 179
8.5 綜合應用實踐:模擬農(nóng)作物生長周期中的數(shù)據(jù) 183
本章小結 185
思考與練習 185
第9章 NumPy數(shù)值計算 187
9.1 數(shù)組的創(chuàng)建與訪問 187
9.1.1 創(chuàng)建數(shù)組 188
9.1.2 查看數(shù)組屬性 191
9.1.3 訪問數(shù)組 191
9.1.4 修改數(shù)組 193
9.2 數(shù)組的運算 196
9.2.1 數(shù)組的轉置 196
9.2.2 數(shù)組的算術運算 197
9.2.3 數(shù)組的布爾運算 200
9.2.4 數(shù)組的點積運算 201
9.2.5 數(shù)組的統(tǒng)計運算 202
9.3 數(shù)組的操作 204
9.3.1 數(shù)組的排序 204
9.3.2 數(shù)組的合并 206
9.4 綜合應用實踐:模擬農(nóng)作物對土壤養(yǎng)分需求評價 208
本章小結 211
思考與練習 211
第10章 Pandas數(shù)據(jù)處理分析 213
10.1 Pandas基本數(shù)據(jù)結構 214
10.1.1 Series數(shù)據(jù)結構定義與操作 214
10.1.2 DataFrame數(shù)據(jù)結構定義與操作 217
10.1.3 訪問DataFrame數(shù)據(jù)元素 220
10.1.4 修改與刪除DataFrame數(shù)據(jù)元素 223
10.1.5 DataFrame數(shù)據(jù)元素的排序 225
10.2 數(shù)據(jù)分析的基本流程 228
10.3 數(shù)據(jù)的導入與導出 229
10.3.1 數(shù)據(jù)的導入 229
10.3.2 數(shù)據(jù)的導出 232
10.4 數(shù)據(jù)預處理 233
10.4.1 缺失值處理 233
10.4.2 異常值處理 235
10.4.3 重復值處理 239
10.4.4 其他處理 241
10.5 數(shù)據(jù)分析方法 246
10.5.1 基本統(tǒng)計分析 246
10.5.2 分組分析 248
10.5.3 分布分析 251
10.5.4 交叉分析 253
10.5.5 結構分析 255
10.5.6 相關分析 256
10.6 DataFrame的合并與連接 258
10.6.1 DataFrame的合并 258
10.6.2 DataFrame的連接 259
10.7 綜合應用實踐:玉米生長數(shù)據(jù)綜合分析 260
本章小結 266
思考與練習 266
第11章 Matplotlib庫與數(shù)據(jù)可視化 268
11.1 數(shù)據(jù)可視化概述 269
11.1.1 常見的可視化圖表類型 269
11.1.2 可視化圖表的基本構成 271
11.1.3 數(shù)據(jù)可視化方式選擇依據(jù) 273
11.1.4 常見的數(shù)據(jù)可視化庫 274
11.2 Matplotlib庫的概述 274
11.2.1 Matplotlib庫的使用導入與設置 274
11.2.2 Matplotlib庫繪圖的層次結構 275
11.3 Matplotlib庫繪圖的基本流程 276
11.3.1 創(chuàng)建簡單圖表的基本流程 276
11.3.2 繪制子圖的基本流程 278
11.4 圖表輔助元素的設置 280
11.4.1 設置坐標軸的標簽、刻度范圍和刻度標簽 280
11.4.2 添加標題和圖例 281
11.4.3 顯示網(wǎng)格 283
11.4.4 添加參考線和參考區(qū)域 283
11.4.5 添加注釋文本 284
11.4.6 添加表格 285
11.4.7 圖表輔助元素設置綜合應用 285
11.5 使用Matplotlib庫繪制常用圖表 287
11.5.1 繪制直方圖 287
11.5.2 繪制散點圖 288
11.5.3 繪制柱形圖 290
11.5.4 繪制折線圖 291
11.5.5 繪制餅形圖 292
11.5.6 繪制面積圖 295
11.5.7 繪制熱力圖 296
11.5.8 繪制箱線圖 297
11.5.9 繪制雷達圖 299
11.5.10 繪制3D圖形 301
11.6 綜合應用實踐:土壤養(yǎng)分含量數(shù)據(jù)分析與可視化 301
本章小結 304
思考與練習 305
參考文獻