Python程序設計(AI輔助學習版)
李樹青 彭飛
相關主題
商品描述
本書秉承新工科教學理念,圍繞Python語言、程序設計和編程工具使用等方面,全面介紹Python編程的方法與應用。本書共13章,包括Python開發基礎、Python語言基本要素、簡單數據類型、程序控制語句、組合數據類型、函數與模塊、類與對象、文件處理、常見模塊的使用、NumPy數據處理、Pandas數據查詢、數據可視化、機器學習等內容。
本書註重理論與實踐結合,註重對編程方法和思路的說明,並適當引入以數據分析和機器學習為背景的編程問題。本書同時將AI輔助編程的思想和方法融入其中,由淺入深地講解了Python語言開發的各類知識。
本書可作為高等學校計算機相關專業“Python程序設計”相關課程的教材,也可作為Python愛好者及Python程序開發人員的參考書。
作者簡介
李樹青,南京財經大學信息工程學院教授、副院長,2007年6月畢業於南京大學信息管理系,主要從事信息檢索、推薦系統、人工智能等方面的研究。作為課程負責人,主講的“Python大數據分析”“小白學Python”課程分別於2021和2014獲得省級一流線上課程,主編教材10余本,其中《Python大數據分析基礎》等6本獲省級重點教材。
目錄大綱
第 1章 Python開發基礎
1.1 計算機編程語言 1
1.1.1 基本概念 1
1.1.2 Python語言 3
1.2 Python開發應用環境搭建 4
1.2.1 Python解釋器 4
1.2.2 Python代碼編輯器 5
1.2.3 Python第三方庫 7
1.2.4 AI輔助編程 8
習題1 9
第 2章 Python語言基本要素
2.1 語句 10
2.1.1 基本寫法 11
2.1.2 註釋 12
2.2 變量 13
2.3 函數 15
2.3.1 輸入輸出函數 16
2.3.2 數據類型轉換函數 17
2.3.3 字符串函數與處理 18
2.4 代碼調試 26
習題2 32
第3章 簡單數據類型
3.1 數字類型 34
3.1.1 整數 34
3.1.2 浮點數 35
3.1.3 復數 37
3.1.4 數字類型數據處理 38
3.2 字符串類型 42
3.2.1 基本格式 42
3.2.2 字符串類型轉換 43
3.3 布爾類型 45
3.3.1 基本格式 45
3.3.2 布爾類型轉換 47
習題3 48
第4章 程序控制語句
4.1 順序語句 49
4.2 分支語句 50
4.2.1 單分支語句 50
4.2.2 雙分支語句 51
4.2.3 多分支語句 51
4.2.4 模式匹配語句 52
4.3 循環語句 57
4.3.1 for循環語句 57
4.3.2 while循環語句 60
4.3.3 循環控制輔助語句 63
4.4 異常處理 65
4.4.1 異常捕獲 65
4.4.2 異常觸發 66
習題4 67
第5章 組合數據類型
5.1 列表與元組 71
5.1.1 定義 71
5.1.2 遍歷列表元素 74
5.1.3 列表函數操作 78
5.2 字典 88
5.2.1 定義 88
5.2.2 遍歷字典元素 91
5.2.3 字典函數操作 92
5.3 集合 95
5.3.1 定義 95
5.3.2 集合函數操作 97
5.4 組合數據的內存管理 98
習題5 100
第6章 函數與模塊
6.1 函數定義與使用 103
6.1.1 基本函數定義與使用 103
6.1.2 匿名函數 108
6.1.3 遞歸函數 109
6.2 函數參數的特殊定義 115
6.2.1 默認值參數 115
6.2.2 命名參數 116
6.2.3 收集參數 117
6.3 變量的作用域 119
6.3.1 局部作用域 119
6.3.2 全局作用域 120
6.3.3 變量作用域的內存分配機制 122
6.4 模塊、包與庫 124
6.4.1 模塊 124
6.4.2 包 126
6.4.3 庫 127
6.5 map函數和reduce函數 129
6.5.1 map函數 129
6.5.2 reduce函數 130
習題6 133
第7章 類與對象
7.1 面向對象 136
7.2 封裝 138
7.2.1 類的定義與使用 138
7.2.2 構造函數 139
7.2.3 屬性方法 140
7.2.4 字符串表示方法 142
7.2.5 類屬性和類方法 142
7.3 繼承與多態 144
7.3.1 繼承 144
7.3.2 多態 145
習題7 150
第8章 文件處理
8.1 文件概述 152
8.2 文件操作 153
8.2.1 文件讀取 153
8.2.2 文件寫入 156
8.2.3 文件定位 157
8.3 文件夾操作 160
習題8 161
第9章 常見模塊的使用
9.1 隨機數 164
9.2 時間處理 166
9.2.1 時間的表示 167
9.2.2 時間表示的轉換 168
9.3 turtle繪圖 173
9.3.1 基本概念 173
9.3.2 綜合案例 177
9.4 文本處理 178
9.4.1 分詞 178
9.4.2 詞雲 182
9.5 大語言模型交互 184
9.6 Web網頁爬蟲 186
9.6.1 Request模塊方法 186
9.6.2 Scrapy模塊方法 188
9.7 可執行程序生成庫 190
9.8 圖形界面應用開發 191
9.8.1 窗體應用開發(Tkinter) 191
9.8.2 Web應用開發(Flask) 193
9.9 綜合應用案例 195
9.9.1 手寫文字識別 195
9.9.2 語音合成 198
習題9 199
第 10章 NumPy數據處理
10.1 數據表示 201
10.1.1 數組定義與使用 201
10.1.2 數組元素的數據類型 203
10.2 數據轉換 204
10.2.1 不同數據維度的轉換 204
10.2.2 不同數據類型的轉換 206
10.2.3 不同數據數值的映射轉換 207
10.3 數據選擇 209
10.3.1 切片方法 209
10.3.2 布爾索引 211
10.4 數據排序 213
10.4.1 sort函數 213
10.4.2 lexsort函數 214
10.4.3 argsort函數 214
習題10 216
第 11章 Pandas數據查詢
11.1 數據獲取 218
11.1.1 直接構造DataFrame數據 218
11.1.2 從數據文件讀取構建DataFrame 219
11.1.3 數據結果的呈現 221
11.2 數據選擇查詢 222
11.2.1 選擇列 222
11.2.2 選擇行 223
11.2.3 行排序 225
11.3 數據更新 226
11.3.1 列更新 226
11.3.2 行更新 228
11.4 高級查詢 230
11.4.1 分組聚合 230
11.4.2 數據連接 235
11.5 大規模數據的有效加載與存儲 238
習題11 242
第 12章 數據可視化
12.1 常見圖例繪制 243
12.1.1 線形圖 244
12.1.2 散點圖 245
12.1.3 柱狀圖 248
12.1.4 餅狀圖 250
12.2 整體繪圖環境設置 252
習題12 255
第 13章 機器學習
13.1 關於機器學習 257
13.1.1 機器學習的概念 257
13.1.2 神經網絡與深度學習 258
13.1.3 機器學習方法開發步驟 258
13.2 數據預處理 260
13.2.1 缺失數據處理 260
13.2.2 重復值處理 263
13.2.3 異常值處理 263
13.2.4 數據轉換 264
13.3 模型訓練與評估 267
13.3.1 基本方法 267
13.3.2 優化與改進 270
13.3.3 回歸方法 275
13.4 深度學習 277
習題13 278
【章節目錄】
第1章 Python開發基礎
第2章 Python語言基本要素
第3章 簡單數據類型
第4章 程序控制語句
第5章 組合數據類型
第6章 函數與模塊
第7章 類與對象
第8章 文件處理
第9章 常見模塊的使用
第10章 NumPy數據處理
第11章 Pandas數據查詢
第12章 數據可視化
第13章 機器學習
【詳細目錄】
第1章 Python開發基礎
1.1 計算機編程語言 1
1.1.1 基本概念 1
1.1.2 Python語言 3
1.2 Python開發應用環境搭建 4
1.2.1 Python解釋器 4
1.2.2 Python代碼編輯器 5
1.2.3 Python第三方庫 7
1.2.4 AI輔助編程 8
習題1 9
第2章 Python語言基本要素
2.1 語句 10
2.1.1 基本寫法 11
2.1.2 註釋 12
2.2 變量 13
2.3 函數 15
2.3.1 輸入輸出函數 16
2.3.2 數據類型轉換函數 17
2.3.3 字符串函數與處理 18
2.4 代碼調試 26
習題2 32
第3章 簡單數據類型
3.1 數字類型 34
3.1.1 整數 34
3.1.2 浮點數 35
3.1.3 復數 37
3.1.4 數字類型數據處理 38
3.2 字符串類型 42
3.2.1 基本格式 42
3.2.2 字符串類型轉換 43
3.3 布爾類型 45
3.3.1 基本格式 45
3.3.2 布爾類型轉換 47
習題3 48
第4章 程序控制語句
4.1 順序語句 49
4.2 分支語句 50
4.2.1 單分支語句 50
4.2.2 雙分支語句 51
4.2.3 多分支語句 51
4.2.4 模式匹配語句 52
4.3 循環語句 57
4.3.1 for循環語句 57
4.3.2 while循環語句 60
4.3.3 循環控制輔助語句 63
4.4 異常處理 65
4.4.1 異常捕獲 65
4.4.2 異常觸發 66
習題4 67
第5章 組合數據類型
5.1 列表與元組 71
5.1.1 定義 71
5.1.2 遍歷列表元素 74
5.1.3 列表函數操作 78
5.2 字典 88
5.2.1 定義 88
5.2.2 遍歷字典元素 91
5.2.3 字典函數操作 92
5.3 集合 95
5.3.1 定義 95
5.3.2 集合函數操作 97
5.4 組合數據的內存管理 98
習題5 100
第6章 函數與模塊
6.1 函數定義與使用 103
6.1.1 基本函數定義與使用 103
6.1.2 匿名函數 108
6.1.3 遞歸函數 109
6.2 函數參數的特殊定義 115
6.2.1 默認值參數 115
6.2.2 命名參數 116
6.2.3 收集參數 117
6.3 變量的作用域 119
6.3.1 局部作用域 119
6.3.2 全局作用域 120
6.3.3 變量作用域的內存分配機制 122
6.4 模塊、包與庫 124
6.4.1 模塊 124
6.4.2 包 126
6.4.3 庫 127
6.5 map函數和reduce函數 129
6.5.1 map函數 129
6.5.2 reduce函數 130
習題6 133
第7章 類與對象
7.1 面向對象 136
7.2 封裝 138
7.2.1 類的定義與使用 138
7.2.2 構造函數 139
7.2.3 屬性方法 140
7.2.4 字符串表示方法 142
7.2.5 類屬性和類方法 142
7.3 繼承與多態 144
7.3.1 繼承 144
7.3.2 多態 145
習題7 150
第8章 文件處理
8.1 文件概述 152
8.2 文件操作 153
8.2.1 文件讀取 153
8.2.2 文件寫入 156
8.2.3 文件定位 157
8.3 文件夾操作 160
習題8 161
第9章 常見模塊的使用
9.1 隨機數 164
9.2 時間處理 166
9.2.1 時間的表示 167
9.2.2 時間表示的轉換 168
9.3 turtle繪圖 173
9.3.1 基本概念 173
9.3.2 綜合案例 177
9.4 文本處理 178
9.4.1 分詞 178
9.4.2 詞雲 182
9.5 大語言模型交互 184
9.6 Web網頁爬蟲 186
9.6.1 Request模塊方法 186
9.6.2 Scrapy模塊方法 188
9.7 可執行程序生成庫 190
9.8 圖形界面應用開發 191
9.8.1 窗體應用開發(Tkinter) 191
9.8.2 Web應用開發(Flask) 193
9.9 綜合應用案例 195
9.9.1 手寫文字識別 195
9.9.2 語音合成 198
習題9 199
第10章 NumPy數據處理
10.1 數據表示 201
10.1.1 數組定義與使用 201
10.1.2 數組元素的數據類型 203
10.2 數據轉換 204
10.2.1 不同數據維度的轉換 204
10.2.2 不同數據類型的轉換 206
10.2.3 不同數據數值的映射轉換 207
10.3 數據選擇 209
10.3.1 切片方法 209
10.3.2 布爾索引 211
10.4 數據排序 213
10.4.1 sort函數 213
10.4.2 lexsort函數 214
10.4.3 argsort函數 214
習題10 216
第11章 Pandas數據查詢
11.1 數據獲取 218
11.1.1 直接構造DataFrame數據 218
11.1.2 從數據文件讀取構建DataFrame 219
11.1.3 數據結果的呈現 221
11.2 數據選擇查詢 222
11.2.1 選擇列 222
11.2.2 選擇行 223
11.2.3 行排序 225
11.3 數據更新 226
11.3.1 列更新 226
11.3.2 行更新 228
11.4 高級查詢 230
11.4.1 分組聚合 230
11.4.2 數據連接 235
11.5 大規模數據的有效加載與存儲 238
習題11 242
第12章 數據可視化
12.1 常見圖例繪制 243
12.1.1 線形圖 244
12.1.2 散點圖 245
12.1.3 柱狀圖 248
12.1.4 餅狀圖 250
12.2 整體繪圖環境設置 252
習題12 255
第13章 機器學習
13.1 關於機器學習 257
13.1.1 機器學習的概念 257
13.1.2 神經網絡與深度學習 258
13.1.3 機器學習方法開發步驟 258
13.2 數據預處理 260
13.2.1 缺失數據處理 260
13.2.2 重復值處理 263
13.2.3 異常值處理 263
13.2.4 數據轉換 264
13.3 模型訓練與評估 267
13.3.1 基本方法 267
13.3.2 優化與改進 270
13.3.3 回歸方法 275
13.4 深度學習 277
習題13 278

