大數(shù)據(jù)的Python基礎(chǔ)
定 價(jià):45 元
- 作者:林勇
- 出版時(shí)間:2020/4/1
- ISBN:9787560656250
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:324
- 紙張:膠版紙
- 版次:1
- 開本:16K
Python作為一種解釋型的編程語(yǔ)言,具有簡(jiǎn)單、優(yōu)雅的設(shè)計(jì)風(fēng)格和功能強(qiáng)大的擴(kuò)展庫(kù),非常適合海量數(shù)據(jù)的處理,已成為各行業(yè)大數(shù)據(jù)技術(shù)革新的基礎(chǔ)性工具。本書系統(tǒng)講解Python的基礎(chǔ)知識(shí)和程序設(shè)計(jì)方法,全書共15章。第1~8章為基礎(chǔ)篇,介紹程序設(shè)計(jì)的基本控制結(jié)構(gòu),以列表、元組、字典、集合為代表的各類數(shù)據(jù)結(jié)構(gòu),函數(shù)、字符串與正則表達(dá)式的使用方法,面向?qū)ο蠓椒ā⑽募爱惓L幚淼然A(chǔ)知識(shí);第9~15章為進(jìn)階篇,介紹類的成員訪問方法、迭代器與生成器,采用wxPython的GUI編程方法及NumPy、SciPy、Matplotlib、Pandas的科學(xué)計(jì)算與可視化方法,同時(shí)采用進(jìn)程、線程、協(xié)程實(shí)現(xiàn)并發(fā)處理,利用DBAPI、ORM對(duì)象關(guān)系映射實(shí)現(xiàn)數(shù)據(jù)庫(kù)編程。此外,網(wǎng)絡(luò)程序設(shè)計(jì)部分主要介紹網(wǎng)絡(luò)爬蟲、Web應(yīng)用開發(fā),大數(shù)據(jù)處理部分介紹函數(shù)式編程與MapReduce模型。
本書涵蓋Python程序設(shè)計(jì)的基本原理、基礎(chǔ)知識(shí)并提供豐富的程序設(shè)計(jì)案例,信息量大、知識(shí)點(diǎn)緊湊、實(shí)用性強(qiáng)。全書的編寫圍繞大數(shù)據(jù)的時(shí)代特征,緊扣Python編程理論和技術(shù)發(fā)展趨勢(shì),可作為高等院校各專業(yè)的Python語(yǔ)言教材,也可作為Python應(yīng)用開發(fā)人員及編程愛好者的參考資料。
Python是一門擁有簡(jiǎn)潔語(yǔ)法和高效信息處理能力的解釋型高級(jí)編程語(yǔ)言,采取免費(fèi)、開源的方式進(jìn)行維護(hù)和管理,除擁有大量功能強(qiáng)大的內(nèi)置對(duì)象、標(biāo)準(zhǔn)庫(kù)、擴(kuò)展庫(kù)之外,還允許各行各業(yè)的科技人員結(jié)合本領(lǐng)域的需要進(jìn)行專門的設(shè)計(jì)和擴(kuò)充,從而極大地提高了Python語(yǔ)言本身的活力和適用范圍。對(duì)于大數(shù)據(jù)系統(tǒng)這樣涵蓋內(nèi)容豐富、數(shù)據(jù)容量巨大又需要廣泛算法支撐的業(yè)務(wù)和應(yīng)用系統(tǒng),Python語(yǔ)言的使用具有得天獨(dú)厚的優(yōu)勢(shì),可以方便地進(jìn)行編程并使用其各類相關(guān)的功能模塊,提高數(shù)據(jù)分析處理的能力。
Python語(yǔ)言的設(shè)置充分融入了現(xiàn)代高級(jí)編程語(yǔ)言的精髓,可以通過簡(jiǎn)單的語(yǔ)句實(shí)現(xiàn)以往需要編寫大量代碼才能夠?qū)崿F(xiàn)的功能。對(duì)于常用的數(shù)據(jù)結(jié)構(gòu)、函數(shù)、字符串和正則表達(dá)式、面向?qū)ο蠓椒ā⑽募僮饕约爱惓L幚淼然A(chǔ)性程序設(shè)計(jì)方法和用法均支持。本書側(cè)重于從基礎(chǔ)性原理和方法出發(fā),循序漸進(jìn)、由淺入深地引導(dǎo)學(xué)習(xí)者進(jìn)行Python語(yǔ)言知識(shí)與編程方法的學(xué)習(xí),并在學(xué)習(xí)基本編程方法的基礎(chǔ)之上,進(jìn)一步學(xué)習(xí)類的成員訪問方法、迭代器和生成器等知識(shí),進(jìn)而學(xué)習(xí)GUI編程方法、科學(xué)計(jì)算與可視化方法、并發(fā)編程的相關(guān)知識(shí)與原理、數(shù)據(jù)庫(kù)編程、網(wǎng)絡(luò)程序設(shè)計(jì)以及大數(shù)據(jù)處理方法。
·本書的內(nèi)容組織
本書共15章,分基礎(chǔ)篇和進(jìn)階篇兩個(gè)部分。第1~8章為基礎(chǔ)篇,主要內(nèi)容包括Python語(yǔ)言概述,程序設(shè)計(jì)基礎(chǔ),序列結(jié)構(gòu),函數(shù),字符串與正則表達(dá)式,面向?qū)ο蟪绦蛟O(shè)計(jì),文件操作,異常處理與程序調(diào)試;第9~15章為進(jìn)階篇,主要內(nèi)容包括成員訪問、迭代器與生成器,GUI編程,科學(xué)計(jì)算與可視化,并發(fā)編程,數(shù)據(jù)庫(kù)編程,網(wǎng)絡(luò)程序設(shè)計(jì),大數(shù)據(jù)處理。
本書主要有以下幾個(gè)特點(diǎn):
(1) 涵蓋Python程序設(shè)計(jì)的基本原理、基礎(chǔ)知識(shí)并提供豐富的程序設(shè)計(jì)案例,信息量大、知識(shí)點(diǎn)緊湊、實(shí)用性強(qiáng)。
(2) 圍繞大數(shù)據(jù)的時(shí)代特征,緊扣Python編程理論和技術(shù)發(fā)展趨勢(shì),對(duì)知識(shí)脈絡(luò)的設(shè)計(jì)符合國(guó)際國(guó)內(nèi)對(duì)高質(zhì)量Python程序設(shè)計(jì)人員的需要。
(3) 注重對(duì)核心技術(shù)及基礎(chǔ)性原理與方法的講解,讓學(xué)習(xí)者能夠舉一反三,深入了解現(xiàn)代程序設(shè)計(jì)的精髓與先進(jìn)理念,更有利于對(duì)實(shí)際問題的領(lǐng)會(huì)和解決。
(4) 本書給出了豐富的案例和練習(xí)實(shí)例,有利于學(xué)習(xí)者對(duì)知識(shí)的理解和深入領(lǐng)會(huì),能夠輔助學(xué)習(xí)者掌握關(guān)鍵知識(shí)點(diǎn)。
·本書的讀者對(duì)象
本書適用于相關(guān)專業(yè)的本科生或研究生,供各類大專院校和職業(yè)技術(shù)學(xué)院作為教材或教學(xué)參考書使用,也可作為相關(guān)培訓(xùn)課程的教學(xué)資料;本書也可供相關(guān)軟件開發(fā)及科技人員作為輔助學(xué)習(xí)資料與工作參考材料使用,對(duì)有興趣學(xué)習(xí)Python編程技術(shù)的人員或各類相關(guān)程序設(shè)計(jì)競(jìng)賽參賽人員也具有一定的參考價(jià)值。
采用本書作為教材時(shí),學(xué)時(shí)安排參考如下:
(1) 本書作為計(jì)算機(jī)、數(shù)據(jù)工程、信息技術(shù)、電子、自動(dòng)化、人工智能、大數(shù)據(jù)等相關(guān)專業(yè)本科或研究生的程序設(shè)計(jì)教材時(shí),建議采用64或72學(xué)時(shí),講授本書的全部章節(jié),也可結(jié)合專業(yè)特點(diǎn)及學(xué)時(shí)安排,選取第1~9章作為必講章節(jié),第10~15章作為選講章節(jié)。
(2) 本書作為會(huì)計(jì)、經(jīng)濟(jì)、金融、管理、統(tǒng)計(jì)以及其他非工科專業(yè)的研究生或本科生教材時(shí),建議采用64學(xué)時(shí),選取第1~9章作為必講章節(jié),第10~15章作為選講章節(jié)。
(3) 作為非計(jì)算機(jī)相關(guān)專業(yè)的本科生公共基礎(chǔ)課程序設(shè)計(jì)教材時(shí),建議采用48或64學(xué)時(shí),選取第1~8章作為必講章節(jié),第9~15章作為選講章節(jié)。
(4) 作為?圃盒;蚵殬I(yè)技術(shù)學(xué)院程序設(shè)計(jì)教材時(shí),建議采用64或96學(xué)時(shí),可結(jié)合專業(yè)特點(diǎn)及學(xué)時(shí)安排講授本書的全部章節(jié),或選取第1~8章作為必講章節(jié),第9~15章作為選講章節(jié)。
(5) 作為Python培訓(xùn)用書時(shí),建議培訓(xùn)時(shí)間為7~12天,可結(jié)合培訓(xùn)學(xué)時(shí)安排講授本書的全部章節(jié),或選取第1~8章作為必講章節(jié),第9~15章作為選講章節(jié)。
·本書的配套資源
本書配備多媒體教學(xué)資料,相關(guān)例題和一些必要資料可以直接通過書中二維碼掃碼查詢。為方便教學(xué),本書提供全套教學(xué)課件、全書例題的源代碼、參考教學(xué)大綱、學(xué)時(shí)分配表以及試題樣卷等資料,可向西安電子科技大學(xué)出版社索取,或在其官網(wǎng)(http://www.xduph.com)自行查詢。本書也開放了課后習(xí)題的參考答案,有需要的老師請(qǐng)直接聯(lián)系西安電子科技大學(xué)出版社獲取。
本書被認(rèn)定為高等學(xué)校新工科應(yīng)用型人才培養(yǎng)“十三五”規(guī)劃教材和浙江省普通高等學(xué)校新形態(tài)教材,出版過程中得到了寧波工程學(xué)院、浙江大學(xué)等院校師生和西安電子科技大學(xué)出版社、浙江大學(xué)出版社的鼎力支持和幫助,在此表示衷心的感謝。由于編者水平有限,書中難免有錯(cuò)漏之處,懇請(qǐng)廣大讀者不吝指出并提出寶貴意見,我們將在今后再版時(shí)修訂完善。
第一部分 基 礎(chǔ) 篇
第1章 Python語(yǔ)言概述 2
1.1 大數(shù)據(jù)的時(shí)代特征 2
1.2 Python語(yǔ)言的發(fā)展 3
1.2.1 版本更迭 3
1.2.2 軟件實(shí)現(xiàn) 4
1.3 Python開發(fā)環(huán)境配置 5
1.3.1 Python的安裝和運(yùn)行 5
1.3.2 Anaconda包管理器的使用 7
1.4 初識(shí)Python開發(fā) 9
1.4.1 算術(shù)運(yùn)算符 9
1.4.2 數(shù)字類型 9
1.4.3 變量的創(chuàng)建與刪除 11
1.4.4 第一個(gè)程序 12
本章小結(jié) 13
習(xí)題 13
第2章 程序設(shè)計(jì)基礎(chǔ) 15
2.1 基本運(yùn)算 15
2.1.1 數(shù)字計(jì)算 15
2.1.2 字符串規(guī)則 16
2.1.3 布爾運(yùn)算 17
2.2 基本語(yǔ)句 18
2.2.1 標(biāo)識(shí)符與關(guān)鍵字 18
2.2.2 變量 19
2.2.3 表達(dá)式和語(yǔ)句 20
2.2.4 輸入與輸出 21
2.2.5 賦值語(yǔ)句 24
2.3 選擇結(jié)構(gòu) 25
2.3.1 單分支選擇結(jié)構(gòu) 26
2.3.2 雙分支選擇結(jié)構(gòu) 26
2.3.3 多分支選擇結(jié)構(gòu) 27
2.3.4 選擇結(jié)構(gòu)應(yīng)用 28
2.4 循環(huán)結(jié)構(gòu) 29
2.4.1 while循環(huán) 29
2.4.2 for循環(huán) 30
2.4.3 break和continue語(yǔ)句 30
本章小結(jié) 31
習(xí)題 31
第3章 序列結(jié)構(gòu) 33
3.1 列表 33
3.1.1 創(chuàng)建列表 33
3.1.2 列表元素操作 34
3.2 元組 37
3.2.1 元組的創(chuàng)建與刪除 37
3.2.2 元組與列表的區(qū)別 37
3.3 字典 38
3.3.1 創(chuàng)建字典 38
3.3.2 字典元素操作 39
3.4 集合 40
3.4.1 創(chuàng)建集合 40
3.4.2 集合運(yùn)算 41
3.5 序列運(yùn)算 43
3.5.1 序列解包 43
3.5.2 元素訪問與成員判定 47
3.5.3 序列切片 49
3.5.4 序列排序 50
3.5.5 序列的基本運(yùn)算 51
3.6 其他序列類型 52
3.6.1 具名元組 52
3.6.2 雙向隊(duì)列 53
本章小結(jié) 53
習(xí)題 54
第4章 函數(shù) 55
4.1 函數(shù)定義與調(diào)用 55
4.2 函數(shù)參數(shù) 56
4.2.1 形參與實(shí)參 56
4.2.2 參數(shù)的默認(rèn)值 58
4.2.3 關(guān)鍵字參數(shù) 59
4.2.4 可變參數(shù)與序列解包 60
4.3 函數(shù)返回值 61
4.4 變量的作用域 62
4.4.1 局部變量與全局變量 62
4.4.2 模塊導(dǎo)入變量 63
4.5 lambda表達(dá)式 64
4.5.1 基本用法 64
4.5.2 對(duì)序列結(jié)構(gòu)的處理 65
4.5.3 與map()函數(shù)的混合使用 66
4.6 遞歸函數(shù) 67
本章小結(jié) 67
習(xí)題 68
第5章 字符串與正則表達(dá)式 69
5.1 字符串 69
5.1.1 字符串的格式化 70
5.1.2 字符串的常用方法 71
5.2 正則表達(dá)式 75
5.2.1 正則表達(dá)式語(yǔ)法 75
5.2.2 re模塊方法的使用 77
5.2.3 正則表達(dá)式對(duì)象 79
本章小結(jié) 81
習(xí)題 81
第6章 面向?qū)ο蟪绦蛟O(shè)計(jì) 83
6.1 類與對(duì)象 83
6.1.1 創(chuàng)建類和對(duì)象 83
6.1.2 構(gòu)造方法 84
6.1.3 實(shí)例成員 84
6.2 封裝 86
6.2.1 類的數(shù)據(jù)成員 86
6.2.2 類的方法成員 87
6.2.3 訪問控制 88
6.2.4 屬性 90
6.2.5 動(dòng)態(tài)成員綁定 92
6.3 繼承和多態(tài) 93
6.3.1 繼承 94
6.3.2 多態(tài) 96
6.4 特殊方法與運(yùn)算符重載 97
6.4.1 常用特殊方法 97
6.4.2 運(yùn)算符重載 98
本章小結(jié) 100
習(xí)題 101
第7章 文件操作 102
7.1 文件基本操作 102
7.1.1 文件對(duì)象 102
7.1.2 文件讀寫 103
7.2 二進(jìn)制文件 105
7.2.1 讀寫二進(jìn)制數(shù)據(jù) 106
7.2.2 對(duì)象的序列化 106
7.2.3 字節(jié)型數(shù)據(jù)的處理 107
7.3 文件系統(tǒng)操作 110
7.3.1 os與os.path模塊 110
7.3.2 shutil模塊 113
7.4 讀寫常見文件格式 113
7.4.1 CSV文件 114
7.4.2 Excel文件 115
7.4.3 Word文件 117
7.4.4 JSON文件 119
本章小結(jié) 121
習(xí)題 122
第8章 異常處理與程序調(diào)試 123
8.1 異常的概念 123
8.2 異常捕獲 125
8.2.1 捕獲指定異常 125
8.2.2 沒有出現(xiàn)指定異常的處理 126
8.2.3 捕獲多個(gè)異常 127
8.2.4 帶有finally的異常處理 128
8.3 自定義異常 128
8.3.1 主動(dòng)拋出異常 129
8.3.2 自定義異常 130
8.4 斷言與上下文管理 131
8.4.1 斷言 131
8.4.2 上下文管理 132
8.5 程序調(diào)試 132
8.5.1 使用IDLE調(diào)試代碼 132
8.5.2 使用pdb調(diào)試代碼 133
本章小結(jié) 135
習(xí)題 136
第二部分 進(jìn) 階 篇
第9章 成員訪問、迭代器與生成器 138
9.1 成員訪問 138
9.1.1 基本的序列和映射規(guī)則 138
9.1.2 子類化內(nèi)置類型 140
9.2 迭代器 141
9.2.1 可迭代對(duì)象 141
9.2.2 迭代器規(guī)則 142
9.2.3 創(chuàng)建迭代器 143
9.2.4 從迭代器得到序列 144
9.3 生成器 145
9.3.1 生成器函數(shù) 145
9.3.2 反向迭代器 146
9.3.3 推導(dǎo)式 147
9.3.4 生成器表達(dá)式 149
9.3.5 生成器方法 150
9.3.6 生成器的嵌套 151
9.4 內(nèi)置的可迭代對(duì)象 152
9.4.1 map映射迭代器 152
9.4.2 filter過濾迭代器 154
9.4.3 zip組合迭代器 155
9.4.4 enumerate枚舉迭代器 156
本章小結(jié) 156
習(xí)題 157
第10章 GUI編程 159
10.1 GUI程序的基本框架 159
10.1.1 創(chuàng)建GUI窗口 159
10.1.2 窗體設(shè)計(jì) 160
10.2 事件與事件驅(qū)動(dòng) 162
10.2.1 事件及其分類 162
10.2.2 窗體的基本元素 163
10.2.3 事件的捕獲與綁定 164
10.2.4 事件驅(qū)動(dòng)編程 166
10.3 窗口布局 170
10.3.1 靜態(tài)布局 170
10.3.2 線性布局 175
10.3.3 網(wǎng)格布局 180
10.3.4 靈活網(wǎng)格布局 180
10.3.5 網(wǎng)格包布局 184
本章小結(jié) 187
習(xí)題 187
第11章 科學(xué)計(jì)算與可視化 190
11.1 數(shù)組與矩陣運(yùn)算 190
11.1.1 列表、數(shù)組和矩陣 190
11.1.2 數(shù)組與標(biāo)量的算術(shù)運(yùn)算 193
11.1.3 數(shù)組與數(shù)組的運(yùn)算 194
11.1.4 數(shù)組的切片與索引 199
11.1.5 數(shù)組的函數(shù)運(yùn)算 201
11.2 科學(xué)計(jì)算 204
11.3 數(shù)據(jù)圖表 208
11.3.1 畫布與坐標(biāo)系 208
11.3.2 線形圖 210
11.3.3 散點(diǎn)圖 211
11.3.4 條形圖 212
11.3.5 直方圖 214
11.3.6 餅圖 216
11.4 數(shù)據(jù)分析 217
11.4.1 標(biāo)簽化的一維數(shù)組 217
11.4.2 時(shí)間序列 219
11.4.3 數(shù)據(jù)表格 220
11.4.4 軸向運(yùn)算 226
11.4.5 分組運(yùn)算 228
11.5 統(tǒng)計(jì)分析 230
本章小結(jié) 232
習(xí)題 232
第12章 并發(fā)編程 234
12.1 進(jìn)程 234
12.1.1 進(jìn)程的執(zhí)行 234
12.1.2 進(jìn)程同步 236
12.1.3 進(jìn)程間的數(shù)據(jù)交換 238
12.2 線程 242
12.2.1 創(chuàng)建線程 242
12.2.2 線程同步 243
12.3 協(xié)程 247
12.3.1 概念的引入 247
12.3.2 生成器協(xié)程 249
12.3.3 異步處理協(xié)程 253
本章小結(jié) 258
習(xí)題 259
第13章 數(shù)據(jù)庫(kù)編程 261
13.1 關(guān)系數(shù)據(jù)庫(kù)訪問 261
13.1.1 數(shù)據(jù)庫(kù)連接 261
13.1.2 游標(biāo)的使用 262
13.1.3 行對(duì)象 264
13.2 對(duì)象關(guān)系映射 264
13.2.1 數(shù)據(jù)庫(kù)引擎 265
13.2.2 數(shù)據(jù)庫(kù)的映射與綁定 266
本章小結(jié) 269
習(xí)題 269
第14章 網(wǎng)絡(luò)程序設(shè)計(jì) 270
14.1 網(wǎng)絡(luò)架構(gòu)與協(xié)議 270
14.1.1 網(wǎng)絡(luò)互聯(lián)模型 270
14.1.2 UDP編程 271
14.1.3 TCP編程 272
14.2 網(wǎng)頁(yè)內(nèi)容讀取 274
14.2.1 HTTP與HTML 274
14.2.2 采用urllib獲取網(wǎng)絡(luò)數(shù)據(jù) 276
14.3 Web應(yīng)用開發(fā) 281
14.3.1 Web服務(wù)器網(wǎng)關(guān)接口 281
14.3.2 Flask應(yīng)用框架 285
本章小結(jié) 288
習(xí)題 289
第15章 大數(shù)據(jù)處理 290
15.1 函數(shù)式編程 290
15.1.1 函數(shù)式編程思想 290
15.1.2 高階函數(shù) 291
15.1.3 返回函數(shù) 294
15.1.4 裝飾器 297
15.1.5 偏函數(shù) 302
15.2 Hadoop的MapReduce模型 304
15.2.1 Hadoop的流式數(shù)據(jù)處理 304
15.2.2 MapReduce編程案例 305
本章小結(jié) 312
習(xí)題 312
參考文獻(xiàn) 314