Python程序設(shè)計(jì):基礎(chǔ)與實(shí)踐
定 價(jià):89.8 元
- 作者:殷錫亮 劉陽(yáng) 張勝揚(yáng)
- 出版時(shí)間:2023/12/1
- ISBN:9787115625045
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:301
- 紙張:
- 版次:01
- 開本:16開
Python 是一種面向?qū)ο蟮慕忉屝透呒?jí)編程語(yǔ)言,是當(dāng)前流行的編程語(yǔ)言之一。本書系統(tǒng)性地介紹Python 的基礎(chǔ)知識(shí)及利用 Python 進(jìn)行項(xiàng)目開發(fā)的實(shí)踐。全書分兩部分,第一部分介紹 Python 的基礎(chǔ)語(yǔ)法、Python 自帶的兩個(gè)模塊及其使用方法,以及 Python 的矩陣計(jì)算包 NumPy 的使用方法等,在介紹基礎(chǔ)語(yǔ)法的同時(shí)強(qiáng)調(diào)利用 Python 進(jìn)行編程時(shí)需要注意的編程規(guī)范;第二部分聚焦科學(xué)研究和工程實(shí)踐中比較前沿的方向,涵蓋繪圖、圖像處理、優(yōu)化計(jì)算、游戲開發(fā)、基于 Web 的系統(tǒng)開發(fā)、爬蟲、機(jī)器學(xué)習(xí)等方面的項(xiàng)目實(shí)踐,側(cè)重點(diǎn)是利用 Python 實(shí)現(xiàn)項(xiàng)目需求。
1.從下載安裝到基本操作,從編程語(yǔ)法到編程規(guī)范,從案例分析到代碼實(shí)現(xiàn),讓你學(xué)懂學(xué)透Python基礎(chǔ)知識(shí)。
2.9個(gè)項(xiàng)目實(shí)踐,聚焦科學(xué)研究和工程實(shí)踐中的前沿方向,涵蓋繪圖、圖像處理、優(yōu)化計(jì)算、游戲開發(fā)、基于Web的系統(tǒng)開發(fā)、爬蟲、機(jī)器學(xué)習(xí)等方面,幫你充分掌握開發(fā)技能。
3.配套資源豐富,提供教學(xué)PPT、操作視頻、程序源碼、彩圖文件和本書思維導(dǎo)圖,助你提高學(xué)習(xí)效率。
殷錫亮,副教授,工學(xué)博士,中國(guó)人工智能學(xué)會(huì)會(huì)員。參與黑龍江省自然科學(xué)基金項(xiàng)目一項(xiàng),發(fā)表3篇SCI、2篇EI檢索論文,獲得國(guó)家發(fā)明專利三項(xiàng)。擁有6年通信行業(yè)上市企業(yè)研發(fā)經(jīng)驗(yàn)和8年高校信息通信技術(shù)類專業(yè)教學(xué)經(jīng)驗(yàn)。研究領(lǐng)域包括機(jī)器視覺、室內(nèi)定位、人工智能等。
劉陽(yáng),數(shù)據(jù)庫(kù)系統(tǒng)工程師,副教授,工程碩士。2006至今,就職于哈爾濱職業(yè)技術(shù)學(xué)院,主要講授數(shù)據(jù)庫(kù)管理及維護(hù)、Web綜合實(shí)戰(zhàn)、Python、動(dòng)態(tài)語(yǔ)言編程等課程,擅長(zhǎng)網(wǎng)站開發(fā)和建設(shè),曾擔(dān)任第46屆世界技能大賽黑龍江省選拔賽“網(wǎng)站設(shè)計(jì)與開發(fā)”項(xiàng)目命題專家及裁判(2020年),第45屆世界技能大賽黑龍江省選拔賽“網(wǎng)站設(shè)計(jì)與開發(fā)”裁判(2018年),第七屆黑龍江省殘疾人技能大賽網(wǎng)頁(yè)制作賽項(xiàng)裁判(2018年)。
張勝揚(yáng),高級(jí)講師,就職于北京中軟國(guó)際教育科技股份有限公司,曾講授西北工業(yè)大學(xué)“Python網(wǎng)絡(luò)爬蟲認(rèn)知實(shí)訓(xùn)”課程,東北農(nóng)業(yè)大學(xué)“人工智能實(shí)訓(xùn)”課程,北京聯(lián)通軟件研究院“Python基礎(chǔ)及數(shù)據(jù)采集”課程企業(yè)培訓(xùn),中國(guó)移動(dòng)“機(jī)器學(xué)習(xí)算法”授課企業(yè)培訓(xùn),中海航“基于Django的微服務(wù)架構(gòu)”課程。研究方向包括大數(shù)據(jù)采集及數(shù)據(jù)分析、高等數(shù)學(xué)數(shù)據(jù)分析、機(jī)器學(xué)習(xí)數(shù)據(jù)分析、網(wǎng)站架構(gòu)、圖像識(shí)別等。
第 一部分 Python 基礎(chǔ)
第 1 章 Python 集成開發(fā)環(huán)境介紹 3
1.1 Python IDLE Shell 3
1.2 PyCharm 集成開發(fā)環(huán)境 4
第 2 章 通過 IDLE 學(xué)習(xí)基本的 Python操作 6
2.1 使用 Python IDLE 與計(jì)算機(jī)對(duì)話 6
2.2 計(jì)算機(jī)語(yǔ)言的精華:算法 7
2.3 計(jì)算器:數(shù)和計(jì)算表達(dá)式 8
2.4 變量:程序的最小單元 10
2.5 語(yǔ)句:程序的基本單元 11
2.6 獲取用戶輸入:人工智能程序的眼睛 11
2.7 函數(shù):功能 12
2.8 模塊:倉(cāng)庫(kù) 13
2.9 字符串處理 14
2.10 Python 的可執(zhí)行程序 19
2.11 Python 的程序注釋 21
2.12 運(yùn)行 Python 程序 22
2.13 小結(jié) 23
第3章 操作 Python 數(shù)據(jù)容器——序列和字典 25
3.1 序列 25
3.2 字典 34
3.3 小結(jié) 40
第 4 章 使用字符串 42
4.1 不可變的字符串 42
4.2 像 C 語(yǔ)言一樣設(shè)置字符串的格式 42
4.3 模板法 43
4.4 format 方法 43
4.5 字符串方法 45
4.6 小結(jié) 47
第 5 章 語(yǔ)句 48
5.1 賦值語(yǔ)句 48
5.2 條件語(yǔ)句 50
5.3 循環(huán)語(yǔ)句 53
5.3.1 while 循環(huán) 54
5.3.2 for 循環(huán) 55
5.3.3 迭代字典 56
5.3.4 使用 break 語(yǔ)句、continue 語(yǔ)句跳出循環(huán) 56
5.3.5 循環(huán)后的 else 子句 57
5.3.6 循環(huán)嵌套 58
5.4 其他語(yǔ)句 58
5.4.1 pass 語(yǔ)句 58
5.4.2 del 語(yǔ)句 59
5.4.3 exec 語(yǔ)句(Python 2) 60
5.4.4 def 語(yǔ)句與 return 語(yǔ)句 61
5.5 小結(jié) 61
第 6 章 函數(shù) 63
6.1 復(fù)用性與邏輯性 63
6.2 自定義函數(shù) 63
6.3 函數(shù)的參數(shù) 66
6.4 作用域 68
6.5 函數(shù)的遞歸 69
6.6 小結(jié) 69
第 7 章 面向?qū)ο缶幊? 70
7.1 對(duì)象 70
7.2 類 71
7.2.1 創(chuàng)建自定義類 71
7.2.2 類的名字空間 71
7.2.3 超類和繼承 72
7.2.4 封裝 73
7.3 小結(jié) 73
第 8 章 異常 75
8.1 異常定義 75
8.2 異常處理 75
8.2.1 raise 語(yǔ)句 75
8.2.2 自定義異常類 76
8.2.3 try-except 語(yǔ)句 76
8.2.4 finally 語(yǔ)句 78
8.3 if-else 語(yǔ)句與 try-except 語(yǔ)句的比較 79
8.4 告警 79
8.5 小結(jié) 80
第 9 章 特殊方法、特性、迭代器和生成器 81
9.1 構(gòu)造函數(shù) 81
9.2 特性 82
9.2.1 property 關(guān)鍵字與 property函數(shù) 82
9.2.2 靜態(tài)方法與類方法 84
9.2.3 __getattribute__、__getattr__、__setattr__、__dict__、__delattr__方法 86
9.3 迭代器 88
9.4 生成器 90
9.4.1 創(chuàng)建生成器 90
9.4.2 遞歸生成器 91
9.4.3 生成器的方法 92
9.5 小結(jié) 94
第 10 章 模塊 96
10.1 模塊的概念 96
10.2 模塊中的定義 99
10.3 常用的標(biāo)準(zhǔn)庫(kù)中的模塊 101
10.3.1 time 101
10.3.2 random 103
10.3.3 sys 106
10.3.4 os 108
10.3.5 其他模塊 113
10.4 小結(jié) 114
第 11 章 文件操作 115
11.1 打開文件 115
11.2 文件的基本操作 116
11.3 使用 fileinput 模塊迭代文件 118
11.4 文件上下文管理器 120
11.5 小結(jié) 121
第 12 章 數(shù)據(jù)庫(kù)操作 122
12.1 數(shù)據(jù)庫(kù)的 Python 接口 122
12.2 對(duì) SQLite 數(shù)據(jù)庫(kù)的基本操作 123
12.2.1 創(chuàng)建數(shù)據(jù)庫(kù)連接和關(guān)閉數(shù)據(jù)庫(kù)連接 123
12.2.2 執(zhí)行 SQL 語(yǔ)句 124
12.2.3 sqlite3 備份 129
12.3 小結(jié) 131
第 13 章 基于 NumPy 的線性代數(shù) 運(yùn)算 132
13.1 下載并安裝 NumPy 132
13.2 基礎(chǔ)概念 133
13.2.1 數(shù)組的屬性 133
13.2.2 生成 NumPy 數(shù)組 134
13.2.3 輸出數(shù)組 136
13.2.4 數(shù)組基本運(yùn)算 137
13.2.5 通用函數(shù) 138
13.2.6 索引、切片和迭代 138
13.3 數(shù)組變換 140
13.3.1 改變數(shù)組的形狀 140
13.3.2 數(shù)組間的堆疊 141
13.3.3 數(shù)組切割 142
13.4 矩陣運(yùn)算 142
13.5 小結(jié) 144
第二部分 Python 項(xiàng)目實(shí)踐
第 14 章 使用 Matplotlib 繪圖 147
14.1 下載并安裝 Matplotlib、
SciPy 147
14.2 繪制簡(jiǎn)單 2D 圖像 148
14.3 繪制復(fù)雜 2D 圖像 155
14.4 繪制 3D 圖像 159
14.5 小結(jié) 160
第 15 章 使用 OpenCV 處理圖像——圖像特征提取及匹配 161
15.1 下載并安裝 opencv-python、opencv-contrib-python 和pyflann 161
15.2 圖像特征提取 162
15.3 圖像特征匹配 164
15.4 小結(jié) 169
第 16 章 使用 cvxpy 和 cvxopt 求解凸優(yōu)化問題 170
16.1 下載并安裝 cvxpy 和 cvxopt 170
16.2 求解線性規(guī)劃問題 171
16.3 求解 L1 范數(shù)逼近問題 174
16.4 求解二次規(guī)劃問題 175
16.5 小結(jié) 177
第 17 章 使用 Pygame 實(shí)現(xiàn)外星人入侵游戲 178
17.1 下載并安裝 Pygame 178
17.2 Pygame 的使用方法 180
17.3 外星人入侵游戲項(xiàng)目設(shè)計(jì)與開發(fā) 200
17.3.1 游戲的初始設(shè)置 200
17.3.2 創(chuàng)建玩家飛船類 Ship 201
17.3.3 創(chuàng)建子彈類 Bullet 202
17.3.4 創(chuàng)建外星人飛船類 Alien 203
17.3.5 創(chuàng)建游戲統(tǒng)計(jì)信息類GameStates 204
17.3.6 創(chuàng)建按鈕類 Button 204
17.3.7 創(chuàng)建游戲功能函數(shù) 205
17.3.8 創(chuàng)建游戲入口 209
17.4 小結(jié) 210
第 18 章 使用 Django 框架快速創(chuàng)建用戶信息管理系統(tǒng) 211
18.1 Django 框架簡(jiǎn)介與環(huán)境部署 211
18.2 Django 框架的基本使用方法 212
18.2.1 創(chuàng)建一個(gè) Django 項(xiàng)目 212
18.2.2 Django 框架的基本配置 212
18.2.3 創(chuàng)建 Django 應(yīng)用 215
18.2.4 定義視圖 215
18.3 基于 Django 和 MySQL 創(chuàng)建一個(gè)用戶信息管理系統(tǒng) 216
18.3.1 創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表 216
18.3.2 創(chuàng)建項(xiàng)目和應(yīng)用 216
18.3.3 添加 demo 項(xiàng)目的數(shù)據(jù)庫(kù)連接配置和基本配置 217
18.3.4 定義模型 218
18.3.5 實(shí)現(xiàn) Web 端訪問 219
18.3.6 編輯模板文件 220
18.3.7 設(shè)置視圖 223
18.3.8 測(cè)試 224
18.4 小結(jié) 226
第 19 章 網(wǎng)絡(luò)爬蟲基礎(chǔ) 227
19.1 網(wǎng)絡(luò)爬蟲技術(shù)基礎(chǔ) 227
19.2 爬蟲環(huán)境搭建 228
19.3 源碼采集 230
19.3.1 使用 urllib 采集源碼 230
19.3.2 使用 Requests 采集源碼 232
19.3.3 使用 Selenium 采集源碼 233
19.4 數(shù)據(jù)解析 234
19.4.1 使用 bs4 解析數(shù)據(jù) 234
19.4.2 使用 lxml 解析數(shù)據(jù) 238
19.5 小結(jié) 239
第 20 章 天氣預(yù)測(cè) 241
20.1 下載并安裝 sklearn 241
20.2 天氣預(yù)測(cè)問題 243
20.3 回歸模型 244
20.3.1 線性回歸 244
20.3.2 決策樹回歸 251
20.3.3 隨機(jī)森林回歸 255
20.3.4 神經(jīng)網(wǎng)絡(luò)回歸 257
20.4 小結(jié) 260
第 21 章 紅酒產(chǎn)地分類 261
21.1 數(shù)據(jù)集 261
21.2 分類器評(píng)價(jià)指標(biāo) 263
21.3 分類器 265
21.3.1 支持向量機(jī) 265
21.3.2 最近鄰 268
21.3.3 樸素貝葉斯 271
21.3.4 投票分類器 273
21.4 小結(jié) 275
第 22 章 銀行客戶分析 276
22.1 數(shù)據(jù)集 276
22.2 聚類模型評(píng)估指標(biāo) 278
22.2.1 蘭德指數(shù) 278
22.2.2 互信息評(píng)分 279
22.2.3 同質(zhì)性、完整性及 V 測(cè)度 280
22.2.4 FM 指數(shù) 281
22.2.5 輪廓系數(shù) 281
22.2.6 CH 指數(shù) 282
22.2.7 DB 指數(shù) 282
22.3 聚類模型 282
22.3.1 K 均值聚類 282
22.3.2 DBSCAN 聚類 287
22.3.3 譜聚類 289
22.3.4 層次聚類 290
22.4 小結(jié) 293
附錄 1 部分X11/CSS4 顏色代碼目錄 294
附錄 2 互信息評(píng)分計(jì)算示例 296
附錄 3 同質(zhì)性、完整性及 V 測(cè)度數(shù)值計(jì)算示例 298
參考資料 300