Python 具有易學、可擴充、易移植、功能強大等特點,近年來已成為市場最受歡迎的程序設(shè)計語言之一。本書共9章,包括Python基礎(chǔ)知識、數(shù)據(jù)類型、程序結(jié)構(gòu)、正則表達式及應用、函數(shù)、文件操作、 異常與異常處理、面向?qū)ο缶幊獭⒖茖W計算與可視化等,深入淺入、 循序漸進地引入概念和語法,通過實例幫助初學者理解相關(guān)概念,掌握編程的基本思想,具備初步的開發(fā)能力。
胡國勝(1965.2—),男,博士,教授,長期從事Python程序設(shè)計、信息安全基礎(chǔ)、物聯(lián)網(wǎng)通信技術(shù)等課程教學院和學院行政管理工作。主持上海市教學科學研究項目2項、上海市高等教學學會課題3項、市職教協(xié)會課題1項、工信部教指委項目1項,還奉賢科委、谷歌等課題若干。
第1章 Python基礎(chǔ)知識 1
1.1 Python簡介 1
1.1.1 Python特點 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 運行第一個程序 9
1.3.3 Spyder應用 10
習題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 標識符和關(guān)鍵字 18
2.3 運算符與表達式 19
2.3.1 算術(shù)運算符及表達式 20
2.3.2 賦值運算符及表達式 22
2.3.3 關(guān)系運算符及表達式 23
2.3.4 邏輯運算符及表達式 23
2.3.5 成員運算符及表達式 24
2.3.6 同一性測試運算符及表達式 25
2.3.7 位運算符及表達式 25
2.3.8 運算符的優(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 集合支持的運算 52
2.8.4 4種數(shù)據(jù)類型的特性對比 53
習題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 條件運算 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 列表推導式 66
3.4.7 生成器推導式 67
習題3 68
第4章 正則表達式及應用 72
4.1 字符串 72
4.1.1 字符串編碼 72
4.1.2 字符串運算 73
4.1.3 字符串性質(zhì) 74
4.1.4 字符串格式化 74
4.2 字符串方法與應用 77
4.3 字符串常量與應用 85
4.3.1 字符串常量查詢與類型 85
4.3.2 字符串常量在加密中的應用 86
4.4 正則表達式語法與應用 88
4.4.1 正則表達式語法 88
4.4.2 應用示例 89
4.5 re模塊 91
4.5.1 re模塊的常用方法及功能 91
4.5.2 re模塊方法的使用 92
4.6 正則表達式對象的應用 97
4.6.1 正則表達式對象的match()、search()和findall()方法 97
4.6.2 正則表達式對象的sub()和subn()方法 98
4.6.3 正則表達式對象的split()方法 98
4.7 子模式與match對象 99
習題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 帶默認值的參數(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
習題5 120
第6章 文件操作 122
6.1 文件對象 122
6.2 文件對象的常用屬性和方法 124
6.3 文本文件操作 126
6.3.1 文本文件的基本操作方式 126
6.3.2 文件定位 128
6.4 二進制文件操作 129
6.4.1 二進制文件的基本操作 129
6.4.2 二進制文件的隨機訪問 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
習題6 141
第7章 異常與異常處理 144
7.1 異常 144
7.1.1 異常的定義 144
7.1.2 Python內(nèi)建異常類 146
7.1.3 內(nèi)建異常類的簡單應用 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
習題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
習題8 180
第9章 科學計算與可視化 184
9.1 Python科學計算與可視化模塊 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ù)組運算及函數(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 繪制帶標簽的曲線圖 217
9.4.2 繪制散點圖 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
習題9 240
參考文獻 242