Python 具有易學(xué)、可擴(kuò)充、易移植、功能強(qiáng)大等特點(diǎn),近年來已成為市場最受歡迎的程序設(shè)計語言之一。本書共9章,包括Python基礎(chǔ)知識、數(shù)據(jù)類型、程序結(jié)構(gòu)、正則表達(dá)式及應(yīng)用、函數(shù)、文件操作、 異常與異常處理、面向?qū)ο缶幊、科學(xué)計算與可視化等,深入淺入、 循序漸進(jìn)地引入概念和語法,通過實例幫助初學(xué)者理解相關(guān)概念,掌握編程的基本思想,具備初步的開發(fā)能力。
胡國勝(1965.2—),男,博士,教授,長期從事Python程序設(shè)計、信息安全基礎(chǔ)、物聯(lián)網(wǎng)通信技術(shù)等課程教學(xué)院和學(xué)院行政管理工作。主持上海市教學(xué)科學(xué)研究項目2項、上海市高等教學(xué)學(xué)會課題3項、市職教協(xié)會課題1項、工信部教指委項目1項,還奉賢科委、谷歌等課題若干。
第1章 Python基礎(chǔ)知識 1
1.1 Python簡介 1
1.1.1 Python特點(diǎn) 2
1.1.2 Python版本 3
1.2 Python安裝與環(huán)境設(shè)置 3
1.2.1 Python下載與安裝 3
1.2.2 Python環(huán)境設(shè)置 3
1.2.3 Anaconda安裝 4
1.2.4 測試安裝結(jié)果 6
1.2.5 安裝Jupyter Notebook 6
1.2.6 IDLE環(huán)境 7
1.3 Python使用 8
1.3.1 啟動Jupyter Notebook 8
1.3.2 運(yùn)行第一個程序 9
1.3.3 Spyder應(yīng)用 10
習(xí)題1 10
第2章 數(shù)據(jù)類型 12
2.1 數(shù)值 12
2.1.1 數(shù)值類型 12
2.1.2 不同數(shù)值類型之間的轉(zhuǎn)換 14
2.2 常量、變量與關(guān)鍵字 15
2.2.1 常量的概念 15
2.2.2 變量的定義及屬性 16
2.2.3 標(biāo)識符和關(guān)鍵字 18
2.3 運(yùn)算符與表達(dá)式 19
2.3.1 算術(shù)運(yùn)算符及表達(dá)式 20
2.3.2 賦值運(yùn)算符及表達(dá)式 22
2.3.3 關(guān)系運(yùn)算符及表達(dá)式 23
2.3.4 邏輯運(yùn)算符及表達(dá)式 23
2.3.5 成員運(yùn)算符及表達(dá)式 24
2.3.6 同一性測試運(yùn)算符及表達(dá)式 25
2.3.7 位運(yùn)算符及表達(dá)式 25
2.3.8 運(yùn)算符的優(yōu)先級 25
2.4 字符串 26
2.4.1 字符串的創(chuàng)建 26
2.4.2 轉(zhuǎn)義字符和原始字符串 27
2.4.3 字符串與數(shù)值類型數(shù)據(jù)的轉(zhuǎn)換 28
2.4.4 input()函數(shù)的使用 28
2.4.5 print()函數(shù)的使用 29
2.4.6 字符串的格式化(格式化輸出) 30
2.5 列表 30
2.5.1 列表的創(chuàng)建與刪除 31
2.5.2 列表元素的訪問 32
2.5.3 列表的序列操作 36
2.6 元組 42
2.6.1 元組的創(chuàng)建與刪除 43
2.6.2 元組的常見操作 44
2.6.3 序列封包與序列解包 45
2.7 字典 46
2.7.1 字典創(chuàng)建與刪除 46
2.7.2 字典的常見操作 47
2.8 集合 50
2.8.1 集合的創(chuàng)建與刪除 50
2.8.2 集合的常見操作 50
2.8.3 集合支持的運(yùn)算 52
2.8.4 4種數(shù)據(jù)類型的特性對比 53
習(xí)題2 53
第3章 程序結(jié)構(gòu) 57
3.1 程序設(shè)計概述 57
3.2 順序結(jié)構(gòu) 57
3.3 選擇結(jié)構(gòu) 58
3.3.1 單分支選擇結(jié)構(gòu) 58
3.3.2 雙分支選擇結(jié)構(gòu) 59
3.3.3 多分支選擇結(jié)構(gòu) 60
3.3.4 選擇語句嵌套 60
3.3.5 條件運(yùn)算 61
3.4 循環(huán)結(jié)構(gòu) 62
3.4.1 for循環(huán)結(jié)構(gòu) 62
3.4.2 while循環(huán)結(jié)構(gòu) 64
3.4.3 循環(huán)嵌套結(jié)構(gòu) 64
3.4.4 break、continue語句 65
3.4.5 無限循環(huán) 66
3.4.6 列表推導(dǎo)式 66
3.4.7 生成器推導(dǎo)式 67
習(xí)題3 68
第4章 正則表達(dá)式及應(yīng)用 72
4.1 字符串 72
4.1.1 字符串編碼 72
4.1.2 字符串運(yùn)算 73
4.1.3 字符串性質(zhì) 74
4.1.4 字符串格式化 74
4.2 字符串方法與應(yīng)用 77
4.3 字符串常量與應(yīng)用 85
4.3.1 字符串常量查詢與類型 85
4.3.2 字符串常量在加密中的應(yīng)用 86
4.4 正則表達(dá)式語法與應(yīng)用 88
4.4.1 正則表達(dá)式語法 88
4.4.2 應(yīng)用示例 89
4.5 re模塊 91
4.5.1 re模塊的常用方法及功能 91
4.5.2 re模塊方法的使用 92
4.6 正則表達(dá)式對象的應(yīng)用 97
4.6.1 正則表達(dá)式對象的match()、search()和findall()方法 97
4.6.2 正則表達(dá)式對象的sub()和subn()方法 98
4.6.3 正則表達(dá)式對象的split()方法 98
4.7 子模式與match對象 99
習(xí)題4 101
第5章 函數(shù) 106
5.1 Python函數(shù)分類 106
5.1.1 內(nèi)建函數(shù) 106
5.1.2 庫模塊 107
5.2 自定義函數(shù)與調(diào)用 108
5.2.1 自定義函數(shù) 108
5.2.2 函數(shù)調(diào)用 109
5.2.3 lambda函數(shù)的定義 109
5.2.4 列表解析 110
5.2.5 模塊 111
5.2.6 函數(shù)的嵌套調(diào)用 112
5.2.7 函數(shù)的遞歸調(diào)用 113
5.3 函數(shù)的參數(shù)值傳遞 113
5.3.1 位置參數(shù) 114
5.3.2 帶默認(rèn)值的參數(shù) 114
5.3.3 關(guān)鍵字參數(shù) 115
5.3.4 可變長參數(shù) 115
5.3.5 參數(shù)是序列解包 116
5.3.6 修改形參的值是否會影響實參 116
5.4 變量的作用域 117
5.4.1 局部變量 117
5.4.2 全局變量 118
5.4.3 命名常量 119
習(xí)題5 120
第6章 文件操作 122
6.1 文件對象 122
6.2 文件對象的常用屬性和方法 124
6.3 文本文件操作 126
6.3.1 文本文件的基本操作方式 126
6.3.2 文件定位 128
6.4 二進(jìn)制文件操作 129
6.4.1 二進(jìn)制文件的基本操作 129
6.4.2 二進(jìn)制文件的隨機(jī)訪問 130
6.4.3 pickle模塊的使用 130
6.4.4 struct模塊的使用 131
6.5 文件格式轉(zhuǎn)換 133
6.5.1 CSV文件 133
6.5.2 CSV文件的讀取與顯示 134
6.5.3 將TXT文件轉(zhuǎn)換成CSV文件 134
6.5.4 TXT文件的讀取與轉(zhuǎn)換 135
6.6 路徑和文件操作 136
6.6.1 路徑操作 136
6.6.2 文件操作 140
習(xí)題6 141
第7章 異常與異常處理 144
7.1 異常 144
7.1.1 異常的定義 144
7.1.2 Python內(nèi)建異常類 146
7.1.3 內(nèi)建異常類的簡單應(yīng)用 147
7.2 異常處理 148
7.2.1 異常處理結(jié)構(gòu) 148
7.2.2 拋出異常:raise語句 153
7.2.3 斷言:assert語句 154
7.3 實現(xiàn)異常的傳遞和自定義異常 155
7.3.1 異常的嵌套傳遞 155
7.3.2 自定義異常類 157
習(xí)題7 159
第8章 面向?qū)ο缶幊?162
8.1 類與對象 162
8.1.1 面向?qū)ο缶幊痰幕靖拍?162
8.1.2 類的定義 163
8.1.3 對象的定義和使用 164
8.2 屬性與方法 165
8.2.1 屬性與方法的定義 165
8.2.2 屬性與方法的訪問 166
8.3 私有成員與公有成員 167
8.4 構(gòu)造方法與析構(gòu)方法 169
8.4.1 構(gòu)造方法 169
8.4.2 析構(gòu)方法 171
8.5 靜態(tài)方法與類方法 171
8.5.1 靜態(tài)方法 172
8.5.2 類方法 173
8.5.3 實例方法、類方法、靜態(tài)方法的異同 174
8.6 繼承、多態(tài)與重載 176
8.6.1 繼承 176
8.6.2 多態(tài) 179
8.6.3 重載 179
習(xí)題8 180
第9章 科學(xué)計算與可視化 184
9.1 Python科學(xué)計算與可視化模塊 184
9.1.1 Numpy模塊 184
9.1.2 Scipy模塊 184
9.1.3 Matplotlib模塊 184
9.1.4 Pyecharts模塊 185
9.2 Numpy數(shù)據(jù)處理 185
9.2.1 Numpy數(shù)組對象的創(chuàng)建 185
9.2.2 ndarray數(shù)組對象的屬性 189
9.2.3 訪問數(shù)組元素 190
9.2.4 ndarray數(shù)組元素的類型 191
9.2.5 Numpy常量 191
9.2.6 ndarray數(shù)組運(yùn)算及函數(shù) 193
9.3 Scipy數(shù)值計算 208
9.3.1 常數(shù)與特殊函數(shù) 209
9.3.2 Scipy圖像處理 211
9.3.3 Scipy統(tǒng)計 213
9.4 Matplotlib數(shù)據(jù)可視化 216
9.4.1 繪制帶標(biāo)簽的曲線圖 217
9.4.2 繪制散點(diǎn)圖 217
9.4.3 繪制餅圖 219
9.4.4 繪制多個子圖 219
9.4.5 繪制三維圖形 220
9.5 Pyecharts數(shù)據(jù)可視化 221
9.5.1 簡單示例 222
9.5.2 Pyecharts繪圖步驟 224
9.5.3 Pyecharts繪圖示例 226
9.5.4 Pyecharts詞云圖繪制 239
習(xí)題9 240
參考文獻(xiàn) 242