大數(shù)據(jù)的Python基礎(chǔ)
定 價(jià):45 元
- 作者:林勇
- 出版時(shí)間:2020/4/1
- ISBN:9787560656250
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類(lèi):TP311.561
- 頁(yè)碼:324
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16K
Python作為一種解釋型的編程語(yǔ)言,具有簡(jiǎn)單、優(yōu)雅的設(shè)計(jì)風(fēng)格和功能強(qiáng)大的擴(kuò)展庫(kù),非常適合海量數(shù)據(jù)的處理,已成為各行業(yè)大數(shù)據(jù)技術(shù)革新的基礎(chǔ)性工具。本書(shū)系統(tǒng)講解Python的基礎(chǔ)知識(shí)和程序設(shè)計(jì)方法,全書(shū)共15章。第1~8章為基礎(chǔ)篇,介紹程序設(shè)計(jì)的基本控制結(jié)構(gòu),以列表、元組、字典、集合為代表的各類(lèi)數(shù)據(jù)結(jié)構(gòu),函數(shù)、字符串與正則表達(dá)式的使用方法,面向?qū)ο蠓椒、文件及異常處理等基礎(chǔ)知識(shí);第9~15章為進(jìn)階篇,介紹類(lèi)的成員訪問(wè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ò)爬蟲(chóng)、Web應(yīng)用開(kāi)發(fā),大數(shù)據(jù)處理部分介紹函數(shù)式編程與MapReduce模型。
本書(shū)涵蓋Python程序設(shè)計(jì)的基本原理、基礎(chǔ)知識(shí)并提供豐富的程序設(shè)計(jì)案例,信息量大、知識(shí)點(diǎn)緊湊、實(shí)用性強(qiáng)。全書(shū)的編寫(xiě)圍繞大數(shù)據(jù)的時(shí)代特征,緊扣Python編程理論和技術(shù)發(fā)展趨勢(shì),可作為高等院校各專(zhuān)業(yè)的Python語(yǔ)言教材,也可作為Python應(yīng)用開(kāi)發(fā)人員及編程愛(ài)好者的參考資料。
Python是一門(mén)擁有簡(jiǎn)潔語(yǔ)法和高效信息處理能力的解釋型高級(jí)編程語(yǔ)言,采取免費(fèi)、開(kāi)源的方式進(jìn)行維護(hù)和管理,除擁有大量功能強(qiáng)大的內(nèi)置對(duì)象、標(biāo)準(zhǔn)庫(kù)、擴(kuò)展庫(kù)之外,還允許各行各業(yè)的科技人員結(jié)合本領(lǐng)域的需要進(jìn)行專(zhuān)門(mé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)行編程并使用其各類(lèi)相關(guān)的功能模塊,提高數(shù)據(jù)分析處理的能力。
Python語(yǔ)言的設(shè)置充分融入了現(xiàn)代高級(jí)編程語(yǔ)言的精髓,可以通過(guò)簡(jiǎn)單的語(yǔ)句實(shí)現(xiàn)以往需要編寫(xiě)大量代碼才能夠?qū)崿F(xiàn)的功能。對(duì)于常用的數(shù)據(jù)結(jié)構(gòu)、函數(shù)、字符串和正則表達(dá)式、面向?qū)ο蠓椒、文件操作以及異常處理等基礎(chǔ)性程序設(shè)計(jì)方法和用法均支持。本書(shū)側(cè)重于從基礎(chǔ)性原理和方法出發(fā),循序漸進(jìn)、由淺入深地引導(dǎo)學(xué)習(xí)者進(jìn)行Python語(yǔ)言知識(shí)與編程方法的學(xué)習(xí),并在學(xué)習(xí)基本編程方法的基礎(chǔ)之上,進(jìn)一步學(xué)習(xí)類(lèi)的成員訪問(wèn)方法、迭代器和生成器等知識(shí),進(jìn)而學(xué)習(xí)GUI編程方法、科學(xué)計(jì)算與可視化方法、并發(fā)編程的相關(guān)知識(shí)與原理、數(shù)據(jù)庫(kù)編程、網(wǎng)絡(luò)程序設(shè)計(jì)以及大數(shù)據(jù)處理方法。
·本書(shū)的內(nèi)容組織
本書(shū)共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)容包括成員訪問(wèn)、迭代器與生成器,GUI編程,科學(xué)計(jì)算與可視化,并發(fā)編程,數(shù)據(jù)庫(kù)編程,網(wǎng)絡(luò)程序設(shè)計(jì),大數(shù)據(jù)處理。
本書(shū)主要有以下幾個(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í)際問(wèn)題的領(lǐng)會(huì)和解決。
(4) 本書(shū)給出了豐富的案例和練習(xí)實(shí)例,有利于學(xué)習(xí)者對(duì)知識(shí)的理解和深入領(lǐng)會(huì),能夠輔助學(xué)習(xí)者掌握關(guān)鍵知識(shí)點(diǎn)。
·本書(shū)的讀者對(duì)象
本書(shū)適用于相關(guān)專(zhuān)業(yè)的本科生或研究生,供各類(lèi)大專(zhuān)院校和職業(yè)技術(shù)學(xué)院作為教材或教學(xué)參考書(shū)使用,也可作為相關(guān)培訓(xùn)課程的教學(xué)資料;本書(shū)也可供相關(guān)軟件開(kāi)發(fā)及科技人員作為輔助學(xué)習(xí)資料與工作參考材料使用,對(duì)有興趣學(xué)習(xí)Python編程技術(shù)的人員或各類(lèi)相關(guān)程序設(shè)計(jì)競(jìng)賽參賽人員也具有一定的參考價(jià)值。
采用本書(shū)作為教材時(shí),學(xué)時(shí)安排參考如下:
(1) 本書(shū)作為計(jì)算機(jī)、數(shù)據(jù)工程、信息技術(shù)、電子、自動(dòng)化、人工智能、大數(shù)據(jù)等相關(guān)專(zhuān)業(yè)本科或研究生的程序設(shè)計(jì)教材時(shí),建議采用64或72學(xué)時(shí),講授本書(shū)的全部章節(jié),也可結(jié)合專(zhuān)業(yè)特點(diǎn)及學(xué)時(shí)安排,選取第1~9章作為必講章節(jié),第10~15章作為選講章節(jié)。
(2) 本書(shū)作為會(huì)計(jì)、經(jīng)濟(jì)、金融、管理、統(tǒng)計(jì)以及其他非工科專(zhuān)業(yè)的研究生或本科生教材時(shí),建議采用64學(xué)時(shí),選取第1~9章作為必講章節(jié),第10~15章作為選講章節(jié)。
(3) 作為非計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的本科生公共基礎(chǔ)課程序設(shè)計(jì)教材時(shí),建議采用48或64學(xué)時(shí),選取第1~8章作為必講章節(jié),第9~15章作為選講章節(jié)。
(4) 作為專(zhuān)科院;蚵殬I(yè)技術(shù)學(xué)院程序設(shè)計(jì)教材時(shí),建議采用64或96學(xué)時(shí),可結(jié)合專(zhuān)業(yè)特點(diǎn)及學(xué)時(shí)安排講授本書(shū)的全部章節(jié),或選取第1~8章作為必講章節(jié),第9~15章作為選講章節(jié)。
(5) 作為Python培訓(xùn)用書(shū)時(shí),建議培訓(xùn)時(shí)間為7~12天,可結(jié)合培訓(xùn)學(xué)時(shí)安排講授本書(shū)的全部章節(jié),或選取第1~8章作為必講章節(jié),第9~15章作為選講章節(jié)。
·本書(shū)的配套資源
本書(shū)配備多媒體教學(xué)資料,相關(guān)例題和一些必要資料可以直接通過(guò)書(shū)中二維碼掃碼查詢(xún)。為方便教學(xué),本書(shū)提供全套教學(xué)課件、全書(shū)例題的源代碼、參考教學(xué)大綱、學(xué)時(shí)分配表以及試題樣卷等資料,可向西安電子科技大學(xué)出版社索取,或在其官網(wǎng)(http://www.xduph.com)自行查詢(xún)。本書(shū)也開(kāi)放了課后習(xí)題的參考答案,有需要的老師請(qǐng)直接聯(lián)系西安電子科技大學(xué)出版社獲取。
本書(shū)被認(rèn)定為高等學(xué)校新工科應(yīng)用型人才培養(yǎng)“十三五”規(guī)劃教材和浙江省普通高等學(xué)校新形態(tài)教材,出版過(guò)程中得到了寧波工程學(xué)院、浙江大學(xué)等院校師生和西安電子科技大學(xué)出版社、浙江大學(xué)出版社的鼎力支持和幫助,在此表示衷心的感謝。由于編者水平有限,書(shū)中難免有錯(cuò)漏之處,懇請(qǐng)廣大讀者不吝指出并提出寶貴意見(jiàn),我們將在今后再版時(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開(kāi)發(fā)環(huán)境配置 5
1.3.1 Python的安裝和運(yùn)行 5
1.3.2 Anaconda包管理器的使用 7
1.4 初識(shí)Python開(kāi)發(fā) 9
1.4.1 算術(shù)運(yùn)算符 9
1.4.2 數(shù)字類(lèi)型 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 元素訪問(wèn)與成員判定 47
3.5.3 序列切片 49
3.5.4 序列排序 50
3.5.5 序列的基本運(yùn)算 51
3.6 其他序列類(lèi)型 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 類(lèi)與對(duì)象 83
6.1.1 創(chuàng)建類(lèi)和對(duì)象 83
6.1.2 構(gòu)造方法 84
6.1.3 實(shí)例成員 84
6.2 封裝 86
6.2.1 類(lèi)的數(shù)據(jù)成員 86
6.2.2 類(lèi)的方法成員 87
6.2.3 訪問(wèn)控制 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 文件讀寫(xiě) 103
7.2 二進(jìn)制文件 105
7.2.1 讀寫(xiě)二進(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 讀寫(xiě)常見(jiàn)文件格式 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 沒(méi)有出現(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章 成員訪問(wèn)、迭代器與生成器 138
9.1 成員訪問(wèn) 138
9.1.1 基本的序列和映射規(guī)則 138
9.1.2 子類(lèi)化內(nèi)置類(lè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過(guò)濾迭代器 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 事件及其分類(lèi) 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 畫(huà)布與坐標(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ù)訪問(wèn) 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)用開(kāi)發(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