Python程序設計基礎與案例實戰(慕課版)
張平
相關主題
商品描述
本書全面介紹了Python程序設計語言的語法基礎及其在數據分析、可視化、人工智能等場景中的應用。本書強調立德樹人,將中國優秀傳統文化、黨的二十大精神等德育元素融入Python程序設計課程。全書分為3篇:基礎篇、進階篇、應用篇,主要內容包括Python概述、基本數據類型、程序控制結構、容器數據類型、函數與模塊化編程基礎、文件、Numpy科學計算庫、數據分析與pandas、數據可視化與Matplotlib、人工智能與Sklearn等。
本書以應用型本科學生為主要讀者對象,同時上下輻射其他類型的研究生、本科生、專科生等讀者對象。本書可作為電腦、軟件工程、統計學、大數據、人工智能等相關專業的程序設計課程教材,也可以作為信息技術領域從業人員的參考用書。
作者簡介
张平: 湖南工商大学计算机与信息工程学院"双师型"教师,博士,副教授,硕士研究生导师;主持教育部青年项目、湖南省教改项目等科研/教研项目多项,在CCF推荐的权威期刊上发表SCI论文若干篇;理论功底扎实、实践经验颇丰。
目錄大綱
【章名目錄】
第 1部分 基礎篇
第 1章 Python概述
第 2章 基本數據類型
第3章 程序控制結構
第4章 容器數據類型
第5章 函數與模塊化編程基礎
第6章 文件
第7章 NumPy科學計算庫
第8章 數據分析與pandas
第9章 數據可視化與Matplotlib
第 10章 人工智能與Sklearn
【詳細目錄】
第 1部分 基礎篇
第 1章 Python概述
1.1 Python語言簡介 2
1.1.1 Python的誕生和發展 2
1.1.2 Python的特點和優勢 3
1.2 綜合案例:Python開發環境配置 3
1.2.1 案例概述 3
1.2.2 案例詳解 3
1.3 Python程序的書寫規範 5
1.3.1 語句 5
1.3.2 註釋 6
1.3.3 語句塊與縮進 7
1.4 綜合案例:4種具有代表性的Python程序開發和
運行方式 7
1.4.1 案例概述 7
1.4.2 案例詳解 8
1.5 Python輸入與輸出 14
1.5.1 輸出函數print() 14
1.5.2 輸入函數input() 14
1.5.3 字符串格式化 15
1.6 綜合案例:不忘初心、牢記使命 18
1.6.1 案例概述 18
1.6.2 案例詳解 18
本章小結 19
習題1 19
實訓1 19
第 2章 基本數據類型
2.1 字符串類型 20
2.2 數值類型 22
2.3 變量 23
2.3.1 對象和屬性 23
2.3.2 關鍵詞和標識符 23
2.3.3 變量 24
2.4 運算符與表達式 25
2.4.1 運算符 25
2.4.2 表達式與運算符優先級 27
2.4.3 數據類型轉換 28
2.5 數學運算函數和模塊 29
2.5.1 數學運算函數 29
2.5.2 math模塊 29
2.5.3 random模塊 30
2.6 字符串的基本操作 31
2.6.1 字符串統計 31
2.6.2 字符串轉換 31
2.6.3 字符串搜索 32
2.6.4 字符串替換 33
2.6.5 字符串測試 33
2.6.6 字符串拆分合並 34
2.6.7 字符串對齊 35
2.7 綜合案例:《數書九章》與三斜求積術 35
2.7.1 案例概述 35
2.7.2 案例詳解 36
2.8 綜合案例:車牌搖號 37
2.8.1 案例概述 37
2.8.2 車牌號碼生成 37
2.8.3 搖號系統登錄校驗 38
本章小結 38
習題2 38
實訓2 39
第3章 程序控制結構
3.1 程序基本結構 40
3.2 分支結構 41
3.2.1 單分支結構 41
3.2.2 二分支結構 42
3.2.3 if/else表達式 42
3.2.4 多分支結構 43
3.2.5 match-case語句 44
3.3 循環結構 44
3.3.1 while語句 44
3.3.2 for語句 45
3.3.3 循環控制語句 46
3.4 復合語句的嵌套 48
3.5 程序的異常處理 49
3.5.1 觸發異常 49
3.5.2 捕捉異常 50
3.6 綜合案例:依法納稅,利國利民 50
3.6.1 案例概述 50
3.6.2 案例詳解 51
3.7 綜合案例:《孫子算經》與中國剩餘定理 54
3.7.1 案例概述 54
3.7.2 簡單問題解法 54
3.7.3 枚舉法 56
本章小結 56
習題3 57
實訓3 57
第 2部分 進階篇
第4章 容器數據類型
4.1 序列類型:列表、元組和字符串 60
4.1.1 序列類型概述 60
4.1.2 創建列表和元組 61
4.1.3 序列通用操作 62
4.1.4 列表的常用方法 69
4.1.5 元組和字符串 74
4.2 字典 75
4.2.1 字典的創建 75
4.2.2 字典元素的訪問 76
4.2.3 字典的常用方法 77
4.2.4 字典的基本操作 79
4.3 集合 80
4.3.1 創建集合 80
4.3.2 集合的基本操作 81
4.3.3 集合的常用方法 81
4.3.4 集合運算 83
4.4 容器類型進階 84
4.4.1 可變數據類型和不可變數據類型 84
4.4.2 淺復制和深復制 85
4.4.3 列表生成式 88
4.5 常用函數 89
4.5.1 range()函數 89
4.5.2 zip()函數 89
4.5.3 map()函數 90
4.5.4 filter()函數 91
4.6 綜合案例:社會主義核心價值觀 91
4.6.1 案例概述 91
4.6.2 案例詳解 92
4.7 綜合案例:線性代數的中國根源 93
4.7.1 案例概述 93
4.7.2 案例詳解 94
本章小結 96
習題4 97
實訓4 97
第5章 函數與模塊化編程基礎
5.1 函數的定義和調用 98
5.1.1 函數的基本用法 98
5.1.2 函數返回值 99
5.1.3 函數的遞歸調用 100
5.1.4 常用的內置函數 101
5.2 函數的參數傳遞 102
5.2.1 參數的傳遞模式 102
5.2.2 參數的匹配 103
5.2.3 參數的默認值 104
5.2.4 不定長參數 106
5.2.5 實參序列解包 107
5.3 函數變量的作用域 108
5.3.1 局部變量 108
5.3.2 全局變量 109
5.4 函數進階 110
5.4.1 函數的嵌套定義 110
5.4.2 修飾器 110
5.4.3 lambda表達式 111
5.4.4 生成器函數 112
5.5 模塊化編程基礎 113
5.5.1 模塊概述 113
5.5.2 模塊的導入 114
5.5.3 Python庫及用法舉例 116
5.6 綜合案例:五星紅旗迎風飄揚 119
5.6.1 案例概述 119
5.6.2 案例詳解 119
5.7 綜合案例:伏羲八卦與二進制 120
5.7.1 案例概述 120
5.7.2 案例詳解 121
本章小結 124
習題5 124
實訓5 124
第6章 文件
6.1 文件基本操作 126
6.1.1 文件操作的基本流程 126
6.1.2 open()函數和文件對象 127
6.1.3 字符編碼 130
6.1.4 文件路徑 131
6.2 文件操作的相關模塊 132
6.2.1 pickle模塊 132
6.2.2 os和shutil模塊 133
6.2.3 Python-docx模塊 134
6.2.4 openpyxl模塊 136
6.2.5 CSV模塊 137
6.2.6 JSON模塊 138
6.3 綜合案例:文件搜索和批量重命名 138
6.3.1 案例概述 138
6.3.2 案例詳解 139
6.4 綜合案例:《論語》二十篇 140
6.4.1 案例概述 140
6.4.2 案例詳解 140
本章小結 141
習題6 141
實訓6 142
第7章 NumPy科學計算庫
7.1 NumPy基礎 143
7.1.1 NumPy數組概述 143
7.1.2 創建NumPy數組 145
7.1.3 NumPy數組的屬性 146
7.1.4 創建特殊數組 148
7.2 數組元素訪問 150
7.2.1 索引、切片和迭代 150
7.2.2 布爾索引 151
7.3 數組常用函數 151
7.3.1 統計函數 152
7.3.2 集合函數 154
7.3.3 多項式 154
7.3.4 數組排序 155
7.3.5 增加與刪除數組元素 157
7.4 數組基本運算 157
7.4.1 數組形狀相同時的運算 157
7.4.2 數組形狀不同時的運算 159
7.4.3 數組和單個數據的運算 160
7.5 NumPy進階 161
7.5.1 改變數組的形狀 161
7.5.2 引用、視圖和復制 165
7.5.3 數組組合 168
7.5.4 數組拆分 170
7.5.5 數組存儲和讀取 172
7.6 綜合案例:《九章算術》與高斯消元法 173
7.6.1 案例概述 173
7.6.2 《九章算術》中的方程組 174
7.6.3 高斯消元法 174
7.7 綜合案例:矩陣分析實踐 175
7.7.1 案例概述 175
7.7.2 矩陣表示和基本運算 176
7.7.3 矩陣特徵值和特徵向量 177
7.7.4 矩陣分解 178
7.7.5 解方程組和求逆矩陣 181
本章小結 183
習題7 183
實訓7 183
第3部分 應用篇
第8章 數據分析與pandas
8.1 概述 186
8.1.1 數據分析 186
8.1.2 pandas簡介 186
8.2 pandas的基本數據結構 187
8.2.1 創建Series對象 187
8.2.2 訪問Series對象 189
8.2.3 創建DataFrame對象 190
8.2.4 訪問DataFrame對象 191
8.3 讀/寫數據文件 195
8.3.1 讀/寫Excel文件 195
8.3.2 讀/寫CSV文件 197
8.3.3 讀/寫HDF5文件 198
8.4 綜合案例:使用pandas進行概要分析 199
8.4.1 案例概述 199
8.4.2 案例實施 199
8.5 數據整理和清洗 205
8.5.1 索引整理 205
8.5.2 缺失值處理 208
8.5.3 添加行或列 210
8.5.4 刪除行或列 212
8.5.5 處理重復記錄 213
8.6 綜合案例:使用pandas進行數據預處理操作 214
8.6.1 案例概述 214
8.6.2 案例實施 214
8.7 數據分析處理基礎 217
8.7.1 基本運算 217
8.7.2 通用函數 218
8.7.3 自定義函數 219
8.7.4 排序 219
8.8 數據分析處理進階 221
8.8.1 數據合並 221
8.8.2 數據分段 222
8.8.3 分組統計 223
8.8.4 數據透視表 225
8.9 綜合案例:數據處理和數據分析技巧的綜合應用 225
8.9.1 案例概述 226
8.9.2 案例實施 226
本章小結 230
習題8 230
實訓8 231
第9章 數據可視化與Matplotlib
9.1 概述 232
9.1.1 數據可視化 232
9.1.2 可視化工具 232
9.2 Matplotlib基礎 233
9.2.1 Matplotlib安裝 233
9.2.2 plot()函數 233
9.2.3 繪圖裝飾 235
9.2.4 子圖繪制 237
9.2.5 視覺差異問題 239
9.2.6 中文和負號的顯示問題 240
9.3 常見圖形的繪制 241
9.3.1 柱狀圖繪制函數bar() 241
9.3.2 水平柱狀圖繪制函數barh() 243
9.3.3 餅圖繪制函數pie() 244
9.3.4 散點圖繪制函數scatter() 246
9.3.5 直方圖繪制函數hist() 247
9.3.6 箱形圖繪制函數boxplot() 248
9.4 綜合案例:葡萄酒數據集可視化分析 249
9.4.1 案例概述 249
9.4.2 概要分析 250
9.4.3 對比分析 254
9.4.4 高維數據分析 255
本章小結 257
習題9 258
實訓9 258
第 10章 人工智能與Sklearn
10.1 概述 259
10.1.1 人工智能 259
10.1.2 機器學習 260
10.2 Sklearn基礎 262
10.2.1 數據準備 263
10.2.2 模型選擇 264
10.2.3 模型訓練 266
10.2.4 模型評價 266
10.3 綜合案例:分類問題綜合應用實踐 268
10.3.1 案例概述 268
10.3.2 案例詳解 268
10.4 綜合案例:回歸問題綜合應用實踐 271
10.4.1 案例概述 271
10.4.2 案例詳解 271
10.5 綜合案例:聚類問題綜合應用實踐 274
10.5.1 案例概述 274
10.5.2 案例詳解 275
本章小結 278
習題10 278
實訓10 278