本書注重對高職學(xué)生實踐能力的培養(yǎng),采用項目驅(qū)動、任務(wù)教學(xué)、案例講解的方式,結(jié)合當(dāng)前Python程序設(shè)計在人工智能領(lǐng)域的應(yīng)用現(xiàn)狀及高職院校學(xué)生的實際情況,全面介紹了Python環(huán)境配置、Python基礎(chǔ)知識、Python數(shù)據(jù)處理、Python綜合應(yīng)用、人工智能入門5個方面的相關(guān)知識,包括Python開發(fā)環(huán)境配置、Python基礎(chǔ)語句、Python序列、選擇與判斷、循環(huán)與跳轉(zhuǎn)、函數(shù)設(shè)計、面向?qū)ο蟪绦蛟O(shè)計、處理程序錯誤和異常、文件操作、科學(xué)計算基礎(chǔ)、數(shù)據(jù)運(yùn)算操作、爬蟲基礎(chǔ)、GUI編程、機(jī)器學(xué)習(xí)入門、計算機(jī)視覺入門、自然語言處理入門等16個項目,每個項目均包含4個任務(wù),注重理論聯(lián)系實際,培養(yǎng)學(xué)生的綜合實踐能力。
傅賢君,1994年出生,男、東北大學(xué)碩士畢業(yè),人工智能技術(shù)應(yīng)用專業(yè)負(fù)責(zé)人,從事圖像算法開發(fā)多年,具有豐富的圖像識別、分割及目標(biāo)檢測領(lǐng)域相關(guān)知識,在國內(nèi)外知名會議、期刊發(fā)表相關(guān)論文多篇,擁有專利5項。
項目1 Python開發(fā)環(huán)境配置 1
任務(wù)1 認(rèn)識Python語言 1
1.1.1 Python語言的誕生過程 2
1.1.2 Python語言的特性 3
1.1.3 Python語言的應(yīng)用領(lǐng)域 4
任務(wù)2 配置Python開發(fā)環(huán)境 6
任務(wù)3 安裝Python語言第三方模塊 9
1.3.1 安裝NumPy模塊 9
1.3.2 安裝OpenCV模塊 9
1.3.3 安裝Pandas模塊 10
1.3.4 安裝requests模塊 10
1.3.5 安裝urllib3模塊 10
1.3.6 安裝BeautifulSoup模塊 11
1.3.7 安裝Scikit-learn模塊 11
1.3.8 安裝NLTK模塊 11
1.3.9 安裝jieba模塊 11
任務(wù)4 Python開發(fā)工具 12
1.4.1 Python開發(fā)工具介紹 12
1.4.2 Jupyter Notebook的安裝與使用 13
習(xí)題 16
項目2 Python基礎(chǔ)語句 17
任務(wù)1 基本變量的賦值 17
2.1.1 標(biāo)識符 18
2.1.2 保留關(guān)鍵字 18
2.1.3 數(shù)據(jù)類型 18
2.1.4 變量 19
2.1.5 賦值 20
2.1.6 用戶輸入 20
任務(wù)2 運(yùn)算符與表達(dá)式 22
2.2.1 運(yùn)算符 22
2.2.2 表達(dá)式 25
任務(wù)3 使用內(nèi)置函數(shù) 26
2.3.1 內(nèi)置函數(shù)的定義和作用 26
2.3.2 常見的內(nèi)置函數(shù) 27
任務(wù)4 代碼格式規(guī)范 28
2.4.1 縮進(jìn) 29
2.4.2 注釋 29
2.4.3 換行 30
習(xí)題 31
項目3 Python序列 33
任務(wù)1 字符串 33
3.1.1 字符串的定義 34
3.1.2 轉(zhuǎn)義字符 35
3.1.3 字符串格式化 36
3.1.4 字符串的訪問方法 38
3.1.5 字符串的基本操作符 39
3.1.6 內(nèi)置的字符串處理方法 39
任務(wù)2 列表 42
3.2.1 列表概述 42
3.2.2 列表的操作 43
3.2.3 刪除列表中的元素 44
3.2.4 向列表中添加元素 44
3.2.5 查找列表中的元素 45
任務(wù)3 元組 47
3.3.1 元組概述 47
3.3.2 元組的訪問 48
3.3.3 修改元組中的元素 49
3.3.4 元組的內(nèi)置函數(shù) 49
任務(wù)4 字典 51
3.4.1 字典概述 51
3.4.2 字典的訪問 53
3.4.3 字典的修改 53
3.4.4 字典的內(nèi)置函數(shù) 54
習(xí)題 56
項目4 選擇與判斷 58
任務(wù)1 條件表達(dá)式 58
4.1.1 條件表達(dá)式的語法格式 59
4.1.2 條件表達(dá)式的應(yīng)用 59
任務(wù)2 單分支語句 60
4.2.1 單分支語句的語法格式 61
4.2.2 單分支語句的應(yīng)用 61
任務(wù)3 多分支語句 63
4.3.1 雙分支語句的語法格式 63
4.3.2 多分支語句的語法格式 64
任務(wù)4 if嵌套語句 66
4.4.1 if嵌套語句的語法格式 66
4.4.2 if嵌套語句的應(yīng)用 67
習(xí)題 68
項目5 循環(huán)與跳轉(zhuǎn) 70
任務(wù)1 while循環(huán)語句 70
5.1.1 while循環(huán)語句的語法格式 71
5.1.2 while循環(huán)語句的應(yīng)用 71
任務(wù)2 for循環(huán)語句 72
5.2.1 for循環(huán)語句的語法格式 73
5.2.2 for循環(huán)語句的應(yīng)用 73
任務(wù)3 跳轉(zhuǎn)語句 75
5.3.1 循環(huán)結(jié)構(gòu)中else語句的用法 75
5.3.2 break語句的應(yīng)用 76
5.3.3 continue語句的應(yīng)用 77
任務(wù)4 嵌套循環(huán) 78
5.4.1 嵌套循環(huán)的語法格式 79
5.4.2 嵌套循環(huán)的應(yīng)用 79
習(xí)題 81
項目6 函數(shù)設(shè)計 83
任務(wù)1 函數(shù)的定義與調(diào)用 84
任務(wù)2 函數(shù)的參數(shù)傳遞與返回值 86
6.2.1 位置參數(shù)的傳遞 86
6.2.2 關(guān)鍵字參數(shù)的傳遞 86
6.2.3 默認(rèn)參數(shù)的傳遞 86
6.2.4 混合傳遞 87
6.2.5 函數(shù)的返回值 87
任務(wù)3 變量作用域 89
6.3.1 局部變量和全局變量 89
6.3.2 關(guān)鍵字global和nonlocal 90
6.3.3 LEGB原則 91
任務(wù)4 特殊形式的函數(shù) 93
6.4.1 匿名函數(shù) 93
6.4.2 遞歸函數(shù) 94
6.4.3 生成器函數(shù) 94
習(xí)題 95
項目7 面向?qū)ο蟪绦蛟O(shè)計 97
任務(wù)1 類和對象的概念與定義 97
7.1.1 面向?qū)ο蟾攀?98
7.1.2 類的定義 98
7.1.3 對象的創(chuàng)建與使用 99
任務(wù)2 類的屬性與方法 100
7.2.1 類的屬性 100
7.2.2 類的方法 101
任務(wù)3 類的特殊方法 104
7.3.1 常見的特殊方法 104
7.3.2 構(gòu)造方法 105
7.3.3 析構(gòu)方法 105
任務(wù)4 繼承與多態(tài) 107
7.4.1 單繼承 108
7.4.2 重寫 108
7.4.3 多繼承 109
7.4.4 多態(tài) 110
習(xí)題 114
項目8 處理程序錯誤和異常 115
任務(wù)1 異常的概念 116
8.1.1 認(rèn)識異常 116
8.1.2 異常的常見類型 116
任務(wù)2 處理異常的方法 117
8.2.1 try-except語句 118
8.2.2 try-except-else語句 119
8.2.3 try-finally語句 119
任務(wù)3 靜默失敗 121
8.3.1 靜默失敗的概念 121
8.3.2 靜默失敗的實現(xiàn)方法 122
任務(wù)4 raise語句 123
8.4.1 raise語句介紹 124
8.4.2 使用raise語句可以引發(fā)的異常 124
習(xí)題 126
項目9 文件操作 127
任務(wù)1 文件的基本類型 127
9.1.1 計算機(jī)文件 128
9.1.2 計算機(jī)文件的類型 128
9.1.3 文本文件的打開與關(guān)閉 128
9.1.4 二進(jìn)制文件的打開與關(guān)閉 130
任務(wù)2 文件的讀取與寫入 131
9.2.1 文件的讀取 131
9.2.2 文件的寫入 133
任務(wù)3 os模塊與shutil模塊 134
9.3.1 文件與目錄 135
9.3.2 os模塊 135
9.3.3 shutil模塊 136
任務(wù)4 文本內(nèi)容操作 137
9.4.1 文本光標(biāo) 138
9.4.2 seek()方法 138
9.4.3 列表數(shù)據(jù)的寫入 138
習(xí)題 139
項目10 科學(xué)計算基礎(chǔ) 140
任務(wù)1 構(gòu)建科學(xué)計算數(shù)組 140
10.1.1 Numpy數(shù)組 141
10.1.2 創(chuàng)建數(shù)組 142
10.1.3 數(shù)組的基本屬性 142
10.1.4 創(chuàng)建特殊的數(shù)組 143
10.1.5 創(chuàng)建隨機(jī)數(shù)組 146
任務(wù)2 獲取數(shù)據(jù)切片 149
10.2.1 一維數(shù)組的索引與切片 150
10.2.2 多維數(shù)組的索引與切片 151
任務(wù)3 數(shù)據(jù)搜索與篩選 152
10.3.1 布爾索引 152
10.3.2 數(shù)據(jù)搜索 153
任務(wù)4 計算數(shù)組的基礎(chǔ)統(tǒng)計信息 156
習(xí)題 162
項目11 數(shù)據(jù)運(yùn)算操作 164
任務(wù)1 修改數(shù)據(jù)集合 164
11.1.1 在數(shù)組中添加與刪除元素 165
11.1.2 修改數(shù)組的形狀 165
11.1.3 展平數(shù)組 167
11.1.4 分割數(shù)組 168
11.1.5 組合數(shù)組 170
任務(wù)2 數(shù)組運(yùn)算操作 172
11.2.1 數(shù)組運(yùn)算 172
11.2.2 廣播運(yùn)算 175
任務(wù)3 Pandas基本操作 176
11.3.1 Series對象 177
11.3.2 DataFrame對象 178
11.3.3 常用屬性 179
任務(wù)4 Pandas數(shù)據(jù)處理 181
11.4.1 數(shù)據(jù)訪問 181
11.4.2 數(shù)據(jù)處理 184
11.4.3 數(shù)據(jù)統(tǒng)計 188
習(xí)題 190
項目12 爬蟲基礎(chǔ) 191
任務(wù)1 爬蟲簡介 191
12.1.1 爬蟲基礎(chǔ) 192
12.1.2 HTML基礎(chǔ) 192
12.1.3 發(fā)起HTTP請求 193
12.1.4 發(fā)送POST請求 194
任務(wù)2 爬取文字 195
12.2.1 獲取網(wǎng)頁內(nèi)容 195
12.2.2 解析網(wǎng)頁文件 196
12.2.3 獲取新聞標(biāo)題 196
12.2.4 保存文本 197
任務(wù)3 爬取圖片 198
12.3.1 解析圖片地址 198
12.3.2 保存圖片 199
任務(wù)4 requests爬蟲 201
12.4.1 requests基本操作 201
12.4.2 BeautifulSoup模塊的用法 202
12.4.3 爬取電影數(shù)據(jù) 203
習(xí)題 206
項目13 GUI編程 207
任務(wù)1 組件介紹 207
13.1.1 GUI的概念 208
13.1.2 Tkinter模塊 208
13.1.3 常用的組件 208
任務(wù)2 組件放置 210
13.2.1 窗口的創(chuàng)建與設(shè)置 210
13.2.2 各類組件的使用與放置 211
任務(wù)3 組件的布局 223
13.3.1 布局 223
13.3.2 Pack布局 223
13.3.3 Grid布局 224
13.3.4 Place布局 224
任務(wù)4 組件交互 227
13.4.1 組件交互 228
13.4.2 事件處理器 228
13.4.3 事件綁定 228
習(xí)題 233
項目14 機(jī)器學(xué)習(xí)入門 234
任務(wù)1 電影數(shù)據(jù)分析 234
14.1.1 數(shù)據(jù)預(yù)處理 235
14.1.2 一元線性回歸模型 235
14.1.3 模型訓(xùn)練 235
14.1.4 模型預(yù)測 235
任務(wù)2 根據(jù)身高和體重判斷性別 237
14.2.1 數(shù)據(jù)預(yù)處理 238
14.2.2 邏輯回歸模型 238
14.2.3 模型訓(xùn)練 238
14.2.4 模型預(yù)測 239
任務(wù)3 根據(jù)身高和體重判斷肥胖程度 240
14.3.1 數(shù)據(jù)預(yù)處理 241
14.3.2 支持向量機(jī)模型 241
14.3.3 模型訓(xùn)練 241
14.3.4 模型預(yù)測 242
任務(wù)4 鳶尾花分類 243
14.4.1 數(shù)據(jù)預(yù)處理 243
14.4.2 K近鄰模型 244
14.4.3 模型訓(xùn)練 244
14.4.4 模型預(yù)測 244
習(xí)題 245
項目15 計算機(jī)視覺入門 247
任務(wù)1 數(shù)字圖像處理基礎(chǔ) 247
15.1.1 讀取圖像 248
15.1.2 顯示圖像 248
15.1.3 保存圖像 249
任務(wù)2 為單寸照片替換背景 250
15.2.1 RGB色彩空間 250
15.2.2 GRAY色彩空間 251
15.2.3 HSV色彩空間 251
15.2.4 圖像類型轉(zhuǎn)換函數(shù) 251
15.2.5 標(biāo)記指定顏色 252
任務(wù)3 查找與繪制圖像輪廓 253
15.3.1 查找圖像輪廓 254
15.3.2 繪制圖像輪廓 254
任務(wù)4 人臉檢測與識別 255
15.4.1 CascadeClassifier()函數(shù) 256
15.4.2 detectMultiScale()函數(shù) 256
習(xí)題 258
項目16 自然語言處理入門 259
任務(wù)1 《岳飛》語料庫分析 259
16.1.1 讀取語料庫 260
16.1.2 詞頻率分布 261
16.1.3 了解NLTK模塊的基本操作函數(shù) 261
任務(wù)2 《三國演義》字符過濾分析 263
16.2.1 jieba模塊基本介紹 263
16.2.2 jieba模塊的基本方法 263
任務(wù)3 使用HMM模型進(jìn)行中文詞分析 265
16.3.1 HMM模型介紹 265
16.3.2 在文本分類中使用HMM模型 265
任務(wù)4 使用樸素貝葉斯算法模型進(jìn)行情感分析 269
16.4.1 樸素貝葉斯算法模型介紹 269
16.4.2 樸素貝葉斯算法模型的應(yīng)用 270
習(xí)題 272
附錄A 習(xí)題參考答案 273