本書是中國信息協(xié)會(huì)大數(shù)據(jù)分會(huì)副會(huì)長劉鵬教授組織編撰的“高級(jí)大數(shù)據(jù)人才培養(yǎng)叢書”之一。本書是一本全面的、從入門到實(shí)踐的Python編程教程,從帶領(lǐng)讀者快速掌握基本的Python編程知識(shí)開始,循序漸進(jìn)、層層深入地引導(dǎo)讀者利用新學(xué)到的知識(shí)開發(fā)功能豐富的項(xiàng)目。本書首先介紹了Python基礎(chǔ);接著介紹了數(shù)據(jù)類型、文件、程序調(diào)試、面向?qū)ο蟪绦蛟O(shè)計(jì)、連接數(shù)據(jù)源等基本知識(shí);然后結(jié)合網(wǎng)絡(luò)爬蟲、數(shù)據(jù)挖掘、自然語言處理、數(shù)據(jù)可視化、Web和移動(dòng)應(yīng)用等工具,以案例為依托進(jìn)行項(xiàng)目實(shí)戰(zhàn);最后介紹了國內(nèi)各種云服務(wù)平臺(tái),以及如何運(yùn)用Python實(shí)現(xiàn)訪問。本書的全部實(shí)驗(yàn)均可在大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)(https://bd.cstor.cn/login)上遠(yuǎn)程開展,也可在高校部署的BDRack大數(shù)據(jù)實(shí)驗(yàn)一體機(jī)上本地開展
張雪萍,女,博士,教授,教育部新世紀(jì)優(yōu)秀人才支持計(jì)劃入選者,河南省高校科技創(chuàng)新人才支持計(jì)劃入選者,河南省高校優(yōu)秀青年骨干教師,河南省教育廳學(xué)術(shù)技術(shù)帶頭人,全國高等學(xué)校計(jì)算機(jī)教育研究會(huì)理事。主要研究方向包括空間數(shù)據(jù)挖掘與信息共享、智能信息處理技術(shù)、數(shù)據(jù)庫版權(quán)保護(hù)、軟件測試等。近年來,主持承擔(dān)并完成河南省自然科學(xué)基金研究項(xiàng)目、河南省科技攻關(guān)研究項(xiàng)目等8項(xiàng),參與完成國家“八五”、“十五”科技攻關(guān)項(xiàng)目2 項(xiàng),參與完成省級(jí)鑒定項(xiàng)目6項(xiàng)。目前主持承擔(dān)教育部新世紀(jì)優(yōu)秀人才計(jì)劃、教育部空間數(shù)據(jù)挖掘與信息共享重點(diǎn)實(shí)驗(yàn)室開放基金、河南省高校科技創(chuàng)新人才計(jì)劃等在研項(xiàng)目5項(xiàng)。
第1章 Python基礎(chǔ) 1
1.1 Python簡介 1
1.2 Python的安裝與運(yùn)行 3
1.3 Python版本的選擇 8
1.4 程序控制 11
1.4.1 Python賦值語句 11
1.4.2 順序結(jié)構(gòu) 18
1.4.3 選擇結(jié)構(gòu) 19
1.4.4 循環(huán)結(jié)構(gòu) 22
1.5 繪圖 27
1.5.1 創(chuàng)建turtle對(duì)象 27
1.5.2 turtle繪圖的基礎(chǔ)知識(shí) 29
1.5.3 利用turtle庫提供的方法繪制圖形 31
1.6 函數(shù) 37
1.6.1 函數(shù)的定義 37
1.6.2 函數(shù)的調(diào)用 39
1.6.3 lambda函數(shù) 42
習(xí)題 42
參考文獻(xiàn) 43
第2章 數(shù)據(jù)類型 44
2.1 核心內(nèi)置數(shù)據(jù)類型概述 44
2.2 數(shù)字類型聲明及基本運(yùn)算 47
2.2.1 整型 47
2.2.2 浮點(diǎn)型 47
2.2.3 復(fù)數(shù)類型 47
2.2.4 數(shù)字運(yùn)算符 48
2.2.5 數(shù)字類型的常用函數(shù)及math庫 49
2.2.6 數(shù)字類型轉(zhuǎn)換函數(shù) 51
2.2.7 浮點(diǎn)型精度處理 52
2.3 列表 53
2.3.1 列表基本特征 53
2.3.2 序列通用操作 55
2.3.3 可變序列及列表通用操作(一) 58
2.3.4 可變序列及列表通用操作(二) 59
2.4 元組 62
2.5 range 64
2.6 哈希運(yùn)算 66
2.7 字典 67
2.7.1 字典概述及聲明 67
2.7.2 字典元素的訪問 71
2.7.3 字典常用方法 71
2.8 字符串 74
2.8.1 字符串的聲明 74
2.8.2 轉(zhuǎn)義字符 76
2.8.3 字符串序列通用操作 77
2.8.4 字符串常用內(nèi)置方法 78
習(xí)題 82
參考文獻(xiàn) 83
第3章 文件 84
3.1 讀寫文件 84
3.1.1 文件對(duì)象聲明與基本操作 84
3.1.2 編碼問題 89
3.1.3 文件寫入操作 90
3.1.4 列表推導(dǎo)式 92
3.1.5 關(guān)閉文件 94
3.1.6 上下文語法 94
3.1.7 生成器 95
3.2 遍歷目錄樹 97
3.3 處理Word文件 102
3.3.1 Python-docx庫 102
3.3.2 利用Python-docx庫讀Word文件 102
3.3.3 利用docx創(chuàng)建Word文件 104
3.4 處理.pdf文件 105
3.5 處理壓縮文件 107
習(xí)題 111
參考文獻(xiàn) 112
第4章 程序調(diào)試 113
4.1 異常 113
4.2 斷言 127
4.3 日志 131
4.4 調(diào)試器 138
習(xí)題 144
參考文獻(xiàn) 144
第5章 面向?qū)ο蟪绦蛟O(shè)計(jì) 146
5.1 面向?qū)ο蟪绦蚣夹g(shù)的基本概念 146
5.2 類的定義和對(duì)象 148
5.3 構(gòu)造函數(shù)和析構(gòu)函數(shù) 150
5.4 類屬性和實(shí)例屬性 151
5.5 類的方法 152
5.5.1 類方法 152
5.5.2 實(shí)例方法 152
5.5.3 靜態(tài)方法 152
5.5.4 類的特殊方法 154
5.6 類的繼承性 160
5.6.1 單一繼承 160
5.6.2 多重繼承 162
5.7 類的多態(tài)性 164
習(xí)題 164
參考文獻(xiàn) 165
第6章 連接數(shù)據(jù)源 166
6.1 導(dǎo)入CSV數(shù)據(jù) 166
6.1.1 CSV數(shù)據(jù)的格式 166
6.1.2 Python讀取CSV文件 167
6.1.3 Python寫CSV文件 169
6.2 導(dǎo)入Excel數(shù)據(jù) 170
6.2.1 Python讀取Excel文件 171
6.2.2 Python寫Excel文件 171
6.3 導(dǎo)入JSON數(shù)據(jù) 172
6.3.1 JSON數(shù)據(jù)的格式 172
6.3.2 Python解碼JSON數(shù)據(jù) 172
6.3.3 Python編碼JSON數(shù)據(jù) 173
6.3.4 Python處理JSON數(shù)據(jù)文件 174
6.4 訪問數(shù)據(jù)庫 175
6.4.1 數(shù)據(jù)庫的查詢操作 177
6.4.2 數(shù)據(jù)庫的插入操作 178
6.4.3 數(shù)據(jù)庫的刪除操作 178
6.4.4 數(shù)據(jù)庫的修改操作 179
習(xí)題 179
參考文獻(xiàn) 180
第7章 網(wǎng)絡(luò)爬蟲 181
7.1 網(wǎng)絡(luò)爬蟲工作的基本原理 181
7.1.1 網(wǎng)頁的概念 181
7.1.2 網(wǎng)絡(luò)爬蟲的工作流程 182
7.1.3 Python與網(wǎng)絡(luò)爬蟲 183
7.2 網(wǎng)頁內(nèi)容獲取——requests庫 183
7.2.1 requests對(duì)象 184
7.2.2 response對(duì)象 184
7.3 網(wǎng)頁內(nèi)容解析——BeautifulSoup 庫 185
7.3.1 BeautifulSoup 庫概述 185
7.3.2 beautifulsoup4 庫常用方法和Tag節(jié)點(diǎn) 187
7.4 正則表達(dá)式 188
7.4.1 正則表達(dá)式概念 188
7.4.2 正則表達(dá)式元字符介紹 190
7.4.3 正則表達(dá)式的常用函數(shù)介紹 194
7.5 實(shí)戰(zhàn):熱門電影搜索 195
7.6 實(shí)戰(zhàn):大數(shù)據(jù)相關(guān)論文文章標(biāo)題采集 196
7.7 實(shí)戰(zhàn):全國空氣質(zhì)量爬取 198
習(xí)題 199
參考文獻(xiàn) 200
第8章 數(shù)據(jù)挖掘 201
8.1 Python常用數(shù)據(jù)分析工具 201
8.1.1 Numpy 201
8.1.2 Scipy 202
8.1.3 pandas 202
8.1.4 Scikit-Learn 203
8.2 數(shù)據(jù)預(yù)處理 204
8.2.1 數(shù)據(jù)清理 204
8.2.2 數(shù)據(jù)集成 205
8.2.3 數(shù)據(jù)變換 206
8.2.4 Python數(shù)據(jù)預(yù)處理 206
8.3 分類與預(yù)測 210
8.3.1 特征選擇 210
8.3.2 性能評(píng)估 210
8.3.3 實(shí)現(xiàn)過程 212
8.3.4 分類與預(yù)測的常用方法 213
8.4 聚類分析 235
8.4.1 聚類分析定義 235
8.4.2 聚類分析評(píng)價(jià)標(biāo)準(zhǔn) 235
8.4.3 數(shù)據(jù)相似度度量 236
8.4.4 聚類分析的常用方法 237
8.5 實(shí)戰(zhàn):信用評(píng)估 247
8.5.1 數(shù)據(jù)加載及說明 247
8.5.2 數(shù)據(jù)預(yù)處理 248
8.5.3 劃分?jǐn)?shù)據(jù)集 249
8.5.4 模型建立及參數(shù)調(diào)優(yōu) 250
8.5.5 模型測試及分析 252
8.6 實(shí)戰(zhàn):影片推薦系統(tǒng) 255
8.6.1 推薦系統(tǒng) 255
8.6.2 python-recsys簡介 256
8.6.3 影片推薦 256
習(xí)題 258
參考文獻(xiàn) 258
第9章 自然語言處理 260
9.1 Python 常用自然語言處理工具 260
9.1.1 Python自然語言處理工具包NLTK 260
9.1.2 Python中文處理工具jieba 260
9.1.3 Python語法解析器PLY 261
9.2 文本處理 261
9.2.1 文本獲取 261
9.2.2 文本表示 262
9.2.3 文本特征詞提取 263
9.3 詞法分析 268
9.3.1 分詞 268
9.3.2 詞性標(biāo)注 270
9.3.3 命名實(shí)體識(shí)別 271
9.3.4 去停用詞 272
9.3.5 中文分詞實(shí)戰(zhàn) 275
9.4 語法分析 277
9.4.1 語法分析簡介 277
9.4.2 語法樹 277
9.4.3 語法分析算法 278
9.4.4 語法分析示例 280
9.5 實(shí)戰(zhàn):搜索引擎 282
習(xí)題 290
參考文獻(xiàn) 291
第10章 數(shù)據(jù)可視化 292
10.1 用Pillow操作圖像 292
10.1.1 圖像的基本知識(shí) 292
10.1.2 圖像處理中常用的模塊和函數(shù) 293
10.1.3 案例介紹 296
10.2 用Matplotlib繪圖 298
10.2.1 Matplotlib常用函數(shù)介紹 299
10.2.2 折線圖的函數(shù)定義及屬性說明 299
10.2.3 案例介紹 300
10.3 調(diào)用Echarts 308
習(xí)題 310
參考文獻(xiàn) 310
第11章 Web和移動(dòng)應(yīng)用 311
11.1 Web框架Django 311
11.1.1 Django簡介 311
11.1.2 Web框架 311
11.1.3 MVC和MTV模式 312
11.1.4 Django的安裝 313
11.2 Python Web開發(fā) 314
11.2.1 創(chuàng)建項(xiàng)目 314
11.2.2 Django 模板 316
11.2.3 Django 模型 318
11.2.4 Django Admin管理工具 323
11.2.5 Django Nginx+uwsgi 安裝配置 330
11.3 Python移動(dòng)應(yīng)用開發(fā) 333
11.3.1 Python Kivy 333
11.3.2 Python 移動(dòng)應(yīng)用開發(fā) 334
11.3.3 基于Python開發(fā)2048游戲 335
習(xí)題 340
參考文獻(xiàn) 341
第12章 與云結(jié)合 342
12.1 阿里云 342
12.1.1 阿里云架構(gòu) 342
12.1.2 CLI Python 版 344
12.2 騰訊云 350
12.2.1 騰訊云總體架構(gòu) 350
12.2.2 騰訊云Python訪問 351
12.3 百度云 354
12.3.1 百度云架構(gòu) 355
12.3.2 BAE Python部署 357
12.4 萬物云 359
12.4.1 功能及應(yīng)用 360
12.4.2 數(shù)據(jù)服務(wù)及訪問 360
12.5 環(huán)境云 366
12.5.1 功能服務(wù) 366
12.5.2 應(yīng)用開發(fā)數(shù)據(jù)接口 366
習(xí)題 369
參考文獻(xiàn) 369