本書旨在為讀者提供全面的Python編程知識,并結合人工智能領域的實際應用,幫助讀者掌握Python編程技能及其在人工智能項目中的實踐方法。本書圍繞Python程序設計與人工智能項目開發(fā)展開,共14章,涵蓋了從基本語法到高級應用的比較全面的內容。 第1章介紹了Python基礎知識,包括Python的現(xiàn)狀、Python的應用領域、Python的發(fā)展歷史、Python快速發(fā)展帶來的啟示、Python官方文檔入口、Python開發(fā)環(huán)境配置、Python基本語法、人機交互(基本輸入/輸出)等內容。第2章介紹了數(shù)字類型與運算,包括數(shù)字類型、運算符與表達式、數(shù)學運算函數(shù)、math模塊等內容。第3章和第4章深入探討了流程控制及函數(shù),通過豐富的實例,幫助讀者掌握Python編程的核心概念和技巧。第5~8章進一步介紹了高級數(shù)據(jù)類型及常見操作、字符串、元組和列表、集合與字典等內容,結合實例,旨在提升讀者的數(shù)據(jù)處理能力。第9~12章重點講解了文件操作、面向對象程序設計、Matplotlib數(shù)據(jù)可視化,以及Python生態(tài)應用等內容。第13章和第14章為Python綜合應用項目,分別介紹了智慧校園中的用戶畫像系統(tǒng)構建和基于知識圖譜的學習資源推薦系統(tǒng)構建。通過兩個完整的實例,讀者將能把所學知識應用于實際項目中,提升解決復雜問題的能力。 本書配套提供了豐富的在線學習資源,包括微課視頻、項目案例、教學課件、習題庫及詳解、源代碼等,為教師實施線上線下混合式教學提供了有力支持,同時為廣大讀者的自主學習提供了極大便利。 本書不僅適合各教育階段的在校學生使用,還適合Python編程愛好者,以及有志于投身數(shù)據(jù)科學與人工智能領域的人員閱讀。
梁婷婷,教授,碩士生導師,人工智能教研室主任。熱愛教育事業(yè),自參加工作以來,主持教育部高等教育司產學合作協(xié)同育人項目2項,完成1項;主要承擔廣西高等教育本科教學改革工程項目5項,完成2項;主要參與廣西科技計劃項目1項;主要承擔廣西高校中青年教師科研基礎能力提升項目4項,完成2項。主持完成校級科研教改課題6項。公開發(fā)表論文20余篇,其中核心5篇。曾獲廣西區(qū)高校青年教師教學競賽-自然科學應用學科組二等獎1項,三等獎1項;曾獲廣西高校教育教學軟件應用大賽一等獎1項,二等獎2項,三等獎5項;曾獲其他校級、市級教學獎項十余項;編制教材兩部;指導大學生創(chuàng)新創(chuàng)業(yè)項目立項—國家級1項,指導學生參加第五屆中國"互聯(lián)網+大學生創(chuàng)新創(chuàng)業(yè)大賽廣西賽區(qū)榮獲銅獎1項,指導學生參加全國大學生計算機設計大賽、廣西大學生人工智能設計大賽等省部級以上賽事榮獲四十余項獎項。主講課程:《Python程序設計》、《數(shù)據(jù)結構》、《大數(shù)據(jù)可視化分析》、《C語言程序設計》等。
目 錄
第1章 Python基礎知識 1
1.1 Python概述 1
1.1.1 Python的現(xiàn)狀 1
1.1.2 Python的應用領域 1
1.1.3 Python的發(fā)展歷史 2
1.1.4 Python快速發(fā)展帶來的
啟示 2
1.1.5 Python官方文檔入口 2
1.2 Python開發(fā)環(huán)境配置 2
1.2.1 解釋器的安裝和使用 2
1.2.2 IDE工具——PyCharm 4
1.2.3 IDE工具——Jupyter Notebook 5
1.3 Python基本語法 6
1.3.1 標識符 6
1.3.2 關鍵字 6
1.3.3 變量 7
1.3.4 行和縮進 7
1.3.5 引號和轉義字符 8
1.3.6 注釋 8
1.3.7 空行 9
1.3.8 編碼規(guī)范 9
1.3.9 Python語法綜合辨析 9
1.4 人機交互(基本輸入/輸出) 10
1.4.1 程序設計的基本流程 10
1.4.2 標準輸出函數(shù)print() 11
1.4.3 print()函數(shù)的格式控制 12
1.4.4 標準輸入函數(shù)input() 13
1.5 項目實訓:個人名片設計——
美好愿景 14
1.5.1 項目背景 14
1.5.2 項目任務 15
1.5.3 項目分析 15
1.5.4 項目實現(xiàn) 15
1.5.5 項目優(yōu)化 15
1.5.6 總結和啟示 15
1.6 鞏固練習 16
第2章 數(shù)字類型與運算 17
2.1 數(shù)字類型 17
2.1.1 常見的數(shù)字類型 17
2.1.2 數(shù)字類型的判斷 18
2.1.3 數(shù)字類型的轉換 18
2.2 運算符與表達式 19
2.2.1 常見的運算符與表達式 19
2.2.2 運算符的優(yōu)先級 22
2.3 數(shù)學運算函數(shù) 24
2.3.1 絕對值函數(shù) 24
2.3.2 四舍五入函數(shù) 24
2.3.3 冪和模冪函數(shù) 24
2.3.4 最大值和最小值函數(shù) 25
2.3.5 字符串和表達式轉換函數(shù) 25
2.4 math模塊及其應用 26
2.4.1 math模塊導入的兩種
方法 26
2.4.2 math模塊中常量和函數(shù)
的主要功能及應用 27
2.5 項目實訓:競賽積分分析及
預測——創(chuàng)新爭先 29
2.5.1 項目背景 29
2.5.2 項目任務 29
2.5.3 項目分析 29
2.5.4 項目實現(xiàn) 30
2.5.5 項目優(yōu)化 30
2.5.6 總結和啟示 31
2.6 鞏固練習 31
第3章 流程控制 32
3.1 流程控制的基本概念 32
3.2 順序結構 32
3.2.1 順序結構樣例 33
3.2.2 處理解釋型語言的程序錯誤 33
3.3 分支結構 33
3.3.1 if語句 34
3.3.2 match語句 39
3.4 循環(huán)結構 41
3.4.1 while循環(huán) 41
3.4.2 數(shù)字序列生成與循環(huán)控制 42
3.4.3 for循環(huán) 44
3.4.4 嵌套循環(huán)結構 46
3.4.5 嵌套循環(huán)效率 47
3.5 流程跳轉語句 50
3.5.1 pass語句 50
3.5.2 continue語句 50
3.5.3 break語句 51
3.5.4 else子句 52
3.6 異常處理 53
3.6.1 異常概述 53
3.6.2 異常類型 53
3.6.3 異常處理 54
3.7 項目實訓:學生畫像系統(tǒng)
構建——精準服務 56
3.7.1 項目背景 56
3.7.2 項目任務 56
3.7.3 項目分析 57
3.7.4 項目實現(xiàn) 57
3.7.5 項目優(yōu)化 58
3.7.6 總結和啟示 60
3.8 鞏固練習 60
第4章 函數(shù) 62
4.1 模塊化程序設計與函數(shù) 62
4.1.1 模塊化程序設計的目的 62
4.1.2 函數(shù)的簡介 63
4.2 函數(shù)的定義和調用 63
4.2.1 函數(shù)的定義 63
4.2.2 函數(shù)的調用 64
4.3 函數(shù)的參數(shù)傳遞 66
4.3.1 位置傳遞 66
4.3.2 關鍵字傳遞 66
4.3.3 默認值傳遞 67
4.3.4 包裹傳遞 68
4.3.5 解包裹傳遞 69
4.4 函數(shù)的進階應用 70
4.4.1 函數(shù)的嵌套調用 70
4.4.2 函數(shù)的遞歸調用 72
4.4.3 變量的作用域與生命周期 73
4.5 Lambda表達式的概念及應用 76
4.5.1 Lambda表達式的概念 76
4.5.2 Lambda表達式的應用 76
4.6 random模塊的概念及應用 77
4.6.1 random模塊的概念 77
4.6.2 random模塊的應用 78
4.7 項用實訓:學生畫像系統(tǒng)模塊化
設計——賦能成長 80
4.7.1 項目背景 80
4.7.2 項目任務 80
4.7.3 項目分析 80
4.7.4 項目實現(xiàn) 81
4.7.5 項目優(yōu)化 82
4.7.6 總結和啟示 83
4.8 鞏固練習 83
第5章 高級數(shù)據(jù)類型及常見操作 84
5.1 高級數(shù)據(jù)類型 84
5.1.1 字符串的定義與特征 84
5.1.2 元組的定義與特征 84
5.1.3 列表的定義與特征 84
5.1.4 集合的定義與特征 85
5.1.5 字典的定義與特征 85
5.2 序列的通用操作 86
5.2.1 索引 86
5.2.2 切片 87
5.2.3 拼接與重復 88
5.2.4 最大值與最小值 88
5.2.5 成員測試 89
5.3 項目實訓:業(yè)務數(shù)據(jù)預處理與
分析——行為監(jiān)察 90
5.3.1 項目背景 90
5.3.2 項目任務 91
5.3.3 項目分析 91
5.3.4 項目實現(xiàn) 91
5.3.5 項目優(yōu)化 92
5.3.6 總結和啟示 93
5.4 鞏固練習 93
第6章 字符串 94
6.1 字符串操作 94
6.1.1 字符串的創(chuàng)建與訪問 94
6.1.2 字符串的遍歷 94
6.2 字符串常量 95
6.3 字符串處理方法 96
6.3.1 str.upper()方法和str.lower()方法 96
6.3.2 str.strip()方法和rstrip()方法 96
6.3.3 str.join()方法 97
6.3.4 str.split()方法 97
6.3.5 str.count()方法 97
6.3.6 str.replace()方法 97
6.3.7 str.find()方法和str.rfind()
方法 98
6.3.8 str.index()方法和str.rindex()方法 98
6.4 正則表達式與字符串處理 100
6.4.1 正則表達式的組成 100
6.4.2 正則表達式的基本語法 101
6.4.3 re模塊 102
6.4.4 正則表達式在人工智能
領域的應用 102
6.5 項目實訓:隨機故事生成器
設計——創(chuàng)意創(chuàng)作 105
6.5.1 項目背景 105
6.5.2 項目任務 106
6.5.3 項目分析 106
6.5.4 項目實現(xiàn) 106
6.5.5 項目優(yōu)化 107
6.5.6 總結和啟示 108
6.6 鞏固練習 108
第7章 元組和列表 110
7.1 元組 110
7.1.1 元組的創(chuàng)建與訪問 110
7.1.2 嵌套元組 110
7.1.3 元組的操作 111
7.2 列表 112
7.2.1 列表的創(chuàng)建 112
7.2.2 嵌套列表的創(chuàng)建與訪問 113
7.2.3 列表的遍歷和列表元素的
轉換 113
7.2.4 列表元素的添加 113
7.2.5 列表元素的刪除 114
7.2.6 列表元素的修改 115
7.3 列表推導式 117
7.4 列表的排序 120
7.4.1 默認規(guī)則排序 120
7.4.2 降序 121
7.4.3 自定義排序 121
7.4.4 復雜排序 121
7.4.5 逆序 122
7.5 項目實訓:工程能力畫像系統(tǒng)
構建——科學規(guī)劃 124
7.5.1 項目背景 124
7.5.2 項目任務 124
7.5.3 項目分析 124
7.5.4 項目實現(xiàn) 125
7.5.5 項目優(yōu)化 126
7.5.6 總結和啟示 126
7.6 鞏固練習 126
第8章 集合與字典 128
8.1 集合 128
8.1.1 集合的創(chuàng)建 128
8.1.2 集合的訪問 129
8.1.3 集合的去重 129
8.1.4 集合元素的添加 130
8.1.5 集合元素的刪除 130
8.1.6 集合的成員測試 131
8.1.7 集合運算 132
8.2 字典 135
8.2.1 字典的創(chuàng)建 135
8.2.2 字典視圖 136
8.2.3 字典的成員訪問 137
8.2.4 字典元素的添加與修改 138
8.2.5 字典元素的刪除 139
8.2.6 字典元素的排序輸出 140
8.3 項目實訓:智能圖書推薦系統(tǒng)
構建——價值引領 141
8.3.1 項目背景 141
8.3.2 項目任務 142
8.3.3 項目分析 142
8.3.4 項目實現(xiàn) 142
8.3.5 項目優(yōu)化 144
8.3.6 總結和啟示 144
8.4 鞏固練習 144
第9章 文件操作 145
9.1 文件的基本概念與操作 145
9.1.1 文件的基本概念 145
9.1.2 文件的打開和關閉 145
9.1.3 文件的讀取 146
9.1.4 文件的寫入 148
9.1.5 文件的搜索 150
9.2 文件的高級操作 150
9.2.1 文件的異常處理與錯誤
捕獲 150
9.2.2 二進制文件的處理 151
9.2.3 CSV文件的處理 152
9.2.4 JOSN文件的處理 154
9.3 項目實訓:數(shù)據(jù)訪問日志管理
系統(tǒng)構建——匠心守護 155
9.3.1 項目背景 155
9.3.2 項目任務 156
9.3.3 項目分析 156
9.3.4 項目實現(xiàn) 156
9.3.5 項目優(yōu)化 158
9.3.6 總結和啟示 159
9.4 鞏固練習 160
第10章 面向對象程序設計 161
10.1 面向對象程序設計概述 161
10.1.1 面向對象程序設計和面向過程程序設計的區(qū)別 161
10.1.2 面向對象程序設計的
四大特性 161
10.2 類與對象 163
10.2.1 類的定義 163
10.2.2 類的實例——對象 163
10.3 屬性和方法 164
10.3.1 實例屬性 164
10.3.2 類屬性 165
10.3.3 實例方法 167
10.3.4 類方法 167
10.3.5 靜態(tài)方法 168
10.3.6 類成員的訪問權限 170
10.4 繼承 172
10.4.1 單繼承 172
10.4.2 多繼承 174
10.5 多態(tài) 177
10.5.1 方法的重寫 177
10.5.2 鴨子類型 178
10.6 模塊 180
10.6.1 系統(tǒng)內置模塊 180
10.6.2 自定義模塊 180
10.6.3 創(chuàng)建和使用模塊 180
10.6.4 模塊搜索路徑 181
10.6.5 模塊的特殊變量__name__ 181
10.7 包 183
10.7.1 包的基本概念 183
10.7.2 創(chuàng)建和使用包 183
10.8 庫 184
10.8.1 標準庫 184
10.8.2 第三方庫 184
10.8.3 安裝第三方庫 184
10.8.4 導入庫 185
10.8.5 自定義庫和包 185
10.9 模塊、包、庫的關系和區(qū)別 186
10.10 項目實訓:金融賬戶管理系統(tǒng)
構建——工程素養(yǎng) 186
10.10.1 項目背景 186
10.10.2 項目任務 186
10.10.3 項目分析 187
10.10.4 項目實現(xiàn) 187
10.10.5 項目優(yōu)化 189
10.10.6 總結和啟示 192
10.11 鞏固練習 192
第11章 Matplotlib數(shù)據(jù)可視化 194
11.1 Matplotlib基礎知識 194
11.1.1 Matplotlib的簡介與
安裝 194
11.1.2 基本繪圖流程 195
11.1.3 圖形屬性與樣式設置 198
11.2 線性圖 200
11.2.1 繪制折線圖 200
11.2.2 標注與美化 201
11.3 非線性圖 203
11.3.1 餅圖 203
11.3.2 柱形圖 204
11.3.3 直方圖 206
11.3.4 散點圖 207
11.3.5 雷達圖 209
11.3.6 箱線圖 210
11.4 中英文詞云圖 211
11.4.1 WordCloud的簡介與安裝 212
11.4.2 英文詞云圖 212
11.4.3 中文詞云圖 214
11.5 項目實訓:科技行業(yè)發(fā)展數(shù)據(jù)
可視化分析——創(chuàng)新驅動,
洞察未來 215
11.5.1 項目背景 215
11.5.2 項目任務 215
11.5.3 項目分析 216
11.5.4 項目實現(xiàn) 216
11.5.5 項目優(yōu)化 218
11.5.6 總結和啟示 218
11.6 鞏固練習 218
第12章 Python生態(tài)應用 220
12.1 GUI 220
12.1.1 Tkinter的基本知識 220
12.1.2 事件處理與回調函數(shù) 221
12.2 網絡請求及解析 223
12.2.1 網絡請求及解析的簡介 223
12.2.2 Requests 223
12.2.3 請求和使用大模型能力 224
12.2.4 etree 225
12.3 機器學習 226
12.3.1 機器學習的簡介 226
12.3.2 監(jiān)督學習 227
12.3.3 無監(jiān)督學習 228
12.3.4 模型評估和優(yōu)化 228
12.4 項目實訓:古典詩詞答疑助手
構建——科技助力文化傳承 229
12.4.1 項目背景 229
12.4.2 項目任務 229
12.4.3 項目分析 230
12.4.4 項目實現(xiàn) 230
12.4.5 項目優(yōu)化 232
12.4.6 總結和啟示 233
12.5 鞏固練習 234
第13章 Python綜合應用項目——
智慧校園中的用戶畫像
系統(tǒng)構建 235
13.1 項目背景 235
13.2 項目任務 235
13.3 項目分析 235
13.3.1 需求分析 235
13.3.2 技術可行性分析 236
13.4 項目設計 236
13.5 項目實現(xiàn) 237
13.6 項目優(yōu)化 239
13.7 總結和啟示 240
第14章 Python綜合應用項目——
基于知識圖譜的學習資源推薦
系統(tǒng)構建 241
14.1 項目背景 241
14.2 項目任務 241
14.3 項目分析 241
14.4 項目設計 242
14.4.1 知識圖譜構建模塊 242
14.4.2 可視化模塊 242
14.4.3 推薦算法模塊 242
14.5 項目實現(xiàn) 243
14.5.1 知識圖譜構建模塊的實現(xiàn) 243
14.5.2 可視化模塊的實現(xiàn) 243
14.5.3 推薦算法模塊的實現(xiàn) 245
14.5.4 主程序的實現(xiàn) 246
14.6 項目優(yōu)化 248
14.6.1 推薦算法優(yōu)化 248
14.6.2 知識圖譜存儲與處理優(yōu)化 249
14.6.3 用戶交互優(yōu)化 249
14.7 總結和啟示