本書旨在為讀者提供全面的Python編程知識,并結(jié)合人工智能領(lǐng)域的實際應(yīng)用,幫助讀者掌握Python編程技能及其在人工智能項目中的實踐方法。本書圍繞Python程序設(shè)計與人工智能項目開發(fā)展開,共14章,涵蓋了從基本語法到高級應(yīng)用的比較全面的內(nèi)容。 第1章介紹了Python基礎(chǔ)知識,包括Python的現(xiàn)狀、Python的應(yīng)用領(lǐng)域、Python的發(fā)展歷史、Python快速發(fā)展帶來的啟示、Python官方文檔入口、Python開發(fā)環(huán)境配置、Python基本語法、人機交互(基本輸入/輸出)等內(nèi)容。第2章介紹了數(shù)字類型與運算,包括數(shù)字類型、運算符與表達(dá)式、數(shù)學(xué)運算函數(shù)、math模塊等內(nèi)容。第3章和第4章深入探討了流程控制及函數(shù),通過豐富的實例,幫助讀者掌握Python編程的核心概念和技巧。第5~8章進一步介紹了高級數(shù)據(jù)類型及常見操作、字符串、元組和列表、集合與字典等內(nèi)容,結(jié)合實例,旨在提升讀者的數(shù)據(jù)處理能力。第9~12章重點講解了文件操作、面向?qū)ο蟪绦蛟O(shè)計、Matplotlib數(shù)據(jù)可視化,以及Python生態(tài)應(yīng)用等內(nèi)容。第13章和第14章為Python綜合應(yīng)用項目,分別介紹了智慧校園中的用戶畫像系統(tǒng)構(gòu)建和基于知識圖譜的學(xué)習(xí)資源推薦系統(tǒng)構(gòu)建。通過兩個完整的實例,讀者將能把所學(xué)知識應(yīng)用于實際項目中,提升解決復(fù)雜問題的能力。 本書配套提供了豐富的在線學(xué)習(xí)資源,包括微課視頻、項目案例、教學(xué)課件、習(xí)題庫及詳解、源代碼等,為教師實施線上線下混合式教學(xué)提供了有力支持,同時為廣大讀者的自主學(xué)習(xí)提供了極大便利。 本書不僅適合各教育階段的在校學(xué)生使用,還適合Python編程愛好者,以及有志于投身數(shù)據(jù)科學(xué)與人工智能領(lǐng)域的人員閱讀。
梁婷婷,教授,碩士生導(dǎo)師,人工智能教研室主任。熱愛教育事業(yè),自參加工作以來,主持教育部高等教育司產(chǎn)學(xué)合作協(xié)同育人項目2項,完成1項;主要承擔(dān)廣西高等教育本科教學(xué)改革工程項目5項,完成2項;主要參與廣西科技計劃項目1項;主要承擔(dān)廣西高校中青年教師科研基礎(chǔ)能力提升項目4項,完成2項。主持完成校級科研教改課題6項。公開發(fā)表論文20余篇,其中核心5篇。曾獲廣西區(qū)高校青年教師教學(xué)競賽-自然科學(xué)應(yīng)用學(xué)科組二等獎1項,三等獎1項;曾獲廣西高校教育教學(xué)軟件應(yīng)用大賽一等獎1項,二等獎2項,三等獎5項;曾獲其他校級、市級教學(xué)獎項十余項;編制教材兩部;指導(dǎo)大學(xué)生創(chuàng)新創(chuàng)業(yè)項目立項—國家級1項,指導(dǎo)學(xué)生參加第五屆中國"互聯(lián)網(wǎng)+大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽廣西賽區(qū)榮獲銅獎1項,指導(dǎo)學(xué)生參加全國大學(xué)生計算機設(shè)計大賽、廣西大學(xué)生人工智能設(shè)計大賽等省部級以上賽事榮獲四十余項獎項。主講課程:《Python程序設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》、《大數(shù)據(jù)可視化分析》、《C語言程序設(shè)計》等。
目 錄
第1章 Python基礎(chǔ)知識 1
1.1 Python概述 1
1.1.1 Python的現(xiàn)狀 1
1.1.2 Python的應(yīng)用領(lǐng)域 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 標(biāo)識符 6
1.3.2 關(guān)鍵字 6
1.3.3 變量 7
1.3.4 行和縮進 7
1.3.5 引號和轉(zhuǎn)義字符 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 程序設(shè)計的基本流程 10
1.4.2 標(biāo)準(zhǔn)輸出函數(shù)print() 11
1.4.3 print()函數(shù)的格式控制 12
1.4.4 標(biāo)準(zhǔn)輸入函數(shù)input() 13
1.5 項目實訓(xùn):個人名片設(shè)計——
美好愿景 14
1.5.1 項目背景 14
1.5.2 項目任務(wù) 15
1.5.3 項目分析 15
1.5.4 項目實現(xiàn) 15
1.5.5 項目優(yōu)化 15
1.5.6 總結(jié)和啟示 15
1.6 鞏固練習(xí) 16
第2章 數(shù)字類型與運算 17
2.1 數(shù)字類型 17
2.1.1 常見的數(shù)字類型 17
2.1.2 數(shù)字類型的判斷 18
2.1.3 數(shù)字類型的轉(zhuǎn)換 18
2.2 運算符與表達(dá)式 19
2.2.1 常見的運算符與表達(dá)式 19
2.2.2 運算符的優(yōu)先級 22
2.3 數(shù)學(xué)運算函數(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 字符串和表達(dá)式轉(zhuǎn)換函數(shù) 25
2.4 math模塊及其應(yīng)用 26
2.4.1 math模塊導(dǎo)入的兩種
方法 26
2.4.2 math模塊中常量和函數(shù)
的主要功能及應(yīng)用 27
2.5 項目實訓(xùn):競賽積分分析及
預(yù)測——創(chuàng)新爭先 29
2.5.1 項目背景 29
2.5.2 項目任務(wù) 29
2.5.3 項目分析 29
2.5.4 項目實現(xiàn) 30
2.5.5 項目優(yōu)化 30
2.5.6 總結(jié)和啟示 31
2.6 鞏固練習(xí) 31
第3章 流程控制 32
3.1 流程控制的基本概念 32
3.2 順序結(jié)構(gòu) 32
3.2.1 順序結(jié)構(gòu)樣例 33
3.2.2 處理解釋型語言的程序錯誤 33
3.3 分支結(jié)構(gòu) 33
3.3.1 if語句 34
3.3.2 match語句 39
3.4 循環(huán)結(jié)構(gòu) 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)結(jié)構(gòu) 46
3.4.5 嵌套循環(huán)效率 47
3.5 流程跳轉(zhuǎn)語句 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 項目實訓(xùn):學(xué)生畫像系統(tǒng)
構(gòu)建——精準(zhǔn)服務(wù) 56
3.7.1 項目背景 56
3.7.2 項目任務(wù) 56
3.7.3 項目分析 57
3.7.4 項目實現(xiàn) 57
3.7.5 項目優(yōu)化 58
3.7.6 總結(jié)和啟示 60
3.8 鞏固練習(xí) 60
第4章 函數(shù) 62
4.1 模塊化程序設(shè)計與函數(shù) 62
4.1.1 模塊化程序設(shè)計的目的 62
4.1.2 函數(shù)的簡介 63
4.2 函數(shù)的定義和調(diào)用 63
4.2.1 函數(shù)的定義 63
4.2.2 函數(shù)的調(diào)用 64
4.3 函數(shù)的參數(shù)傳遞 66
4.3.1 位置傳遞 66
4.3.2 關(guān)鍵字傳遞 66
4.3.3 默認(rèn)值傳遞 67
4.3.4 包裹傳遞 68
4.3.5 解包裹傳遞 69
4.4 函數(shù)的進階應(yīng)用 70
4.4.1 函數(shù)的嵌套調(diào)用 70
4.4.2 函數(shù)的遞歸調(diào)用 72
4.4.3 變量的作用域與生命周期 73
4.5 Lambda表達(dá)式的概念及應(yīng)用 76
4.5.1 Lambda表達(dá)式的概念 76
4.5.2 Lambda表達(dá)式的應(yīng)用 76
4.6 random模塊的概念及應(yīng)用 77
4.6.1 random模塊的概念 77
4.6.2 random模塊的應(yīng)用 78
4.7 項用實訓(xùn):學(xué)生畫像系統(tǒng)模塊化
設(shè)計——賦能成長 80
4.7.1 項目背景 80
4.7.2 項目任務(wù) 80
4.7.3 項目分析 80
4.7.4 項目實現(xiàn) 81
4.7.5 項目優(yōu)化 82
4.7.6 總結(jié)和啟示 83
4.8 鞏固練習(xí) 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 拼接與重復(fù) 88
5.2.4 最大值與最小值 88
5.2.5 成員測試 89
5.3 項目實訓(xùn):業(yè)務(wù)數(shù)據(jù)預(yù)處理與
分析——行為監(jiān)察 90
5.3.1 項目背景 90
5.3.2 項目任務(wù) 91
5.3.3 項目分析 91
5.3.4 項目實現(xiàn) 91
5.3.5 項目優(yōu)化 92
5.3.6 總結(jié)和啟示 93
5.4 鞏固練習(xí) 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 正則表達(dá)式與字符串處理 100
6.4.1 正則表達(dá)式的組成 100
6.4.2 正則表達(dá)式的基本語法 101
6.4.3 re模塊 102
6.4.4 正則表達(dá)式在人工智能
領(lǐng)域的應(yīng)用 102
6.5 項目實訓(xùn):隨機故事生成器
設(shè)計——創(chuàng)意創(chuàng)作 105
6.5.1 項目背景 105
6.5.2 項目任務(wù) 106
6.5.3 項目分析 106
6.5.4 項目實現(xiàn) 106
6.5.5 項目優(yōu)化 107
6.5.6 總結(jié)和啟示 108
6.6 鞏固練習(xí) 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 列表的遍歷和列表元素的
轉(zhuǎn)換 113
7.2.4 列表元素的添加 113
7.2.5 列表元素的刪除 114
7.2.6 列表元素的修改 115
7.3 列表推導(dǎo)式 117
7.4 列表的排序 120
7.4.1 默認(rèn)規(guī)則排序 120
7.4.2 降序 121
7.4.3 自定義排序 121
7.4.4 復(fù)雜排序 121
7.4.5 逆序 122
7.5 項目實訓(xùn):工程能力畫像系統(tǒng)
構(gòu)建——科學(xué)規(guī)劃 124
7.5.1 項目背景 124
7.5.2 項目任務(wù) 124
7.5.3 項目分析 124
7.5.4 項目實現(xiàn) 125
7.5.5 項目優(yōu)化 126
7.5.6 總結(jié)和啟示 126
7.6 鞏固練習(xí) 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 項目實訓(xùn):智能圖書推薦系統(tǒng)
構(gòu)建——價值引領(lǐng) 141
8.3.1 項目背景 141
8.3.2 項目任務(wù) 142
8.3.3 項目分析 142
8.3.4 項目實現(xiàn) 142
8.3.5 項目優(yōu)化 144
8.3.6 總結(jié)和啟示 144
8.4 鞏固練習(xí) 144
第9章 文件操作 145
9.1 文件的基本概念與操作 145
9.1.1 文件的基本概念 145
9.1.2 文件的打開和關(guān)閉 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 項目實訓(xùn):數(shù)據(jù)訪問日志管理
系統(tǒng)構(gòu)建——匠心守護 155
9.3.1 項目背景 155
9.3.2 項目任務(wù) 156
9.3.3 項目分析 156
9.3.4 項目實現(xiàn) 156
9.3.5 項目優(yōu)化 158
9.3.6 總結(jié)和啟示 159
9.4 鞏固練習(xí) 160
第10章 面向?qū)ο蟪绦蛟O(shè)計 161
10.1 面向?qū)ο蟪绦蛟O(shè)計概述 161
10.1.1 面向?qū)ο蟪绦蛟O(shè)計和面向過程程序設(shè)計的區(qū)別 161
10.1.2 面向?qū)ο蟪绦蛟O(shè)計的
四大特性 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 類成員的訪問權(quán)限 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)內(nèi)置模塊 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 標(biāo)準(zhǔn)庫 184
10.8.2 第三方庫 184
10.8.3 安裝第三方庫 184
10.8.4 導(dǎo)入庫 185
10.8.5 自定義庫和包 185
10.9 模塊、包、庫的關(guān)系和區(qū)別 186
10.10 項目實訓(xùn):金融賬戶管理系統(tǒng)
構(gòu)建——工程素養(yǎng) 186
10.10.1 項目背景 186
10.10.2 項目任務(wù) 186
10.10.3 項目分析 187
10.10.4 項目實現(xiàn) 187
10.10.5 項目優(yōu)化 189
10.10.6 總結(jié)和啟示 192
10.11 鞏固練習(xí) 192
第11章 Matplotlib數(shù)據(jù)可視化 194
11.1 Matplotlib基礎(chǔ)知識 194
11.1.1 Matplotlib的簡介與
安裝 194
11.1.2 基本繪圖流程 195
11.1.3 圖形屬性與樣式設(shè)置 198
11.2 線性圖 200
11.2.1 繪制折線圖 200
11.2.2 標(biāo)注與美化 201
11.3 非線性圖 203
11.3.1 餅圖 203
11.3.2 柱形圖 204
11.3.3 直方圖 206
11.3.4 散點圖 207
11.3.5 雷達(dá)圖 209
11.3.6 箱線圖 210
11.4 中英文詞云圖 211
11.4.1 WordCloud的簡介與安裝 212
11.4.2 英文詞云圖 212
11.4.3 中文詞云圖 214
11.5 項目實訓(xùn):科技行業(yè)發(fā)展數(shù)據(jù)
可視化分析——創(chuàng)新驅(qū)動,
洞察未來 215
11.5.1 項目背景 215
11.5.2 項目任務(wù) 215
11.5.3 項目分析 216
11.5.4 項目實現(xiàn) 216
11.5.5 項目優(yōu)化 218
11.5.6 總結(jié)和啟示 218
11.6 鞏固練習(xí) 218
第12章 Python生態(tài)應(yīng)用 220
12.1 GUI 220
12.1.1 Tkinter的基本知識 220
12.1.2 事件處理與回調(diào)函數(shù) 221
12.2 網(wǎng)絡(luò)請求及解析 223
12.2.1 網(wǎng)絡(luò)請求及解析的簡介 223
12.2.2 Requests 223
12.2.3 請求和使用大模型能力 224
12.2.4 etree 225
12.3 機器學(xué)習(xí) 226
12.3.1 機器學(xué)習(xí)的簡介 226
12.3.2 監(jiān)督學(xué)習(xí) 227
12.3.3 無監(jiān)督學(xué)習(xí) 228
12.3.4 模型評估和優(yōu)化 228
12.4 項目實訓(xùn):古典詩詞答疑助手
構(gòu)建——科技助力文化傳承 229
12.4.1 項目背景 229
12.4.2 項目任務(wù) 229
12.4.3 項目分析 230
12.4.4 項目實現(xiàn) 230
12.4.5 項目優(yōu)化 232
12.4.6 總結(jié)和啟示 233
12.5 鞏固練習(xí) 234
第13章 Python綜合應(yīng)用項目——
智慧校園中的用戶畫像
系統(tǒng)構(gòu)建 235
13.1 項目背景 235
13.2 項目任務(wù) 235
13.3 項目分析 235
13.3.1 需求分析 235
13.3.2 技術(shù)可行性分析 236
13.4 項目設(shè)計 236
13.5 項目實現(xiàn) 237
13.6 項目優(yōu)化 239
13.7 總結(jié)和啟示 240
第14章 Python綜合應(yīng)用項目——
基于知識圖譜的學(xué)習(xí)資源推薦
系統(tǒng)構(gòu)建 241
14.1 項目背景 241
14.2 項目任務(wù) 241
14.3 項目分析 241
14.4 項目設(shè)計 242
14.4.1 知識圖譜構(gòu)建模塊 242
14.4.2 可視化模塊 242
14.4.3 推薦算法模塊 242
14.5 項目實現(xiàn) 243
14.5.1 知識圖譜構(gòu)建模塊的實現(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 總結(jié)和啟示