第1章基礎(chǔ)知識(shí)001
1.1軟件的安裝001
1.2管理Python相關(guān)的擴(kuò)展庫001
1.3使用IDLE003
1.4模塊005
1.4.1將整個(gè)模塊導(dǎo)入005
1.4.2從某個(gè)模塊中導(dǎo)入某個(gè)函數(shù)006
1.4.3使用軟件包管理模塊006
1.5數(shù)據(jù)類型和變量006
1.5.1數(shù)據(jù)類型006
1.5.2變量008
1.5.3運(yùn)算符010
1.6元組、列表、字典、集合011
1.6.1元組011
1.6.2列表012
1.6.3切片014
1.6.4字典016
1.6.5集合020
1.6.6推導(dǎo)式022
1.6.7序列解包025
1.7基本語句026
1.7.1分支語句026
1.7.2循環(huán)語句028
1.8函數(shù)030
1.8.1字符串函數(shù)030
1.8.2數(shù)學(xué)函數(shù)032
1.8.3lambda033
1.8.4map()函數(shù)033
1.8.5filter()函數(shù)034
1.8.6zip()函數(shù)034
1.8.7enumerate()函數(shù)035Python基礎(chǔ)及應(yīng)用
目錄
1.8.8日期時(shí)間函數(shù)035
1.8.9自定義函數(shù)039
1.9變量作用域042
1.10閉包與外部作用域043
1.11正則表達(dá)式044
1.11.1正則表達(dá)式匹配模式045
1.11.2不區(qū)分大小寫的匹配047
1.11.3字符串替換047
1.11.4match、search和findall的區(qū)別048
1.11.5正則表達(dá)式常用符號(hào)049
1.12讀寫文件050
1.12.1文件與文件路徑050
1.12.2讀寫文本文件053
1.12.3讀寫二進(jìn)制文件054
1.12.4使用with語句055
1.12.5Python讀寫內(nèi)存中數(shù)據(jù)055
1.13錯(cuò)誤和異常056
1.13.1try...except格式058
1.13.2try...except...else格式058
1.13.3finally子句058
練習(xí)題059
第2章面向?qū)ο缶幊?61
2.1類和對象061
2.1.1類的定義061
2.1.2對象的生成和使用062
2.1.3類屬性與對象屬性062
2.1.4定義外部屬性063
2.1.5類的方法064
2.2類的繼承068
2.3類的重載071
2.3.1方法重載071
2.3.2運(yùn)算符重載071
2.4類的多態(tài)073
練習(xí)題074
第3章繪圖075
3.1Python繪圖模塊的安裝075
3.2使用pyplot模塊快速繪圖075
3.2.1繪制簡單的直線圖075
3.2.2快捷繪圖方式下創(chuàng)建多圖和多子圖077
3.2.3matplotlib.pyplot常用的繪圖函數(shù)078
3.3面向?qū)ο蠓绞嚼L圖085
3.3.1圖和子圖的建立086
3.3.2圖中要素088
3.3.3patches模塊097
3.3.4屬性獲取和設(shè)置097
3.3.5響應(yīng)鼠標(biāo)與鍵盤事件098
3.3.6widget模塊100
練習(xí)題103
第4章科學(xué)計(jì)算105
4.1科學(xué)計(jì)算包105
4.2ndarray的創(chuàng)建106
4.3數(shù)組元素的訪問109
4.4數(shù)據(jù)統(tǒng)計(jì)和相關(guān)分析110
4.4.1數(shù)據(jù)統(tǒng)計(jì)110
4.4.2相關(guān)分析112
4.5數(shù)據(jù)讀取114
4.6矩陣運(yùn)算與線性代數(shù)函數(shù)庫linalg115
4.7優(yōu)化模塊122
4.7.1數(shù)據(jù)擬合122
4.7.2方程求根125
4.8巖石地球化學(xué)數(shù)據(jù)的相關(guān)分析126
練習(xí)題128
第5章Pandas數(shù)據(jù)處理和分析129
5.1Pandas基礎(chǔ)知識(shí)129
5.1.1一維數(shù)據(jù)結(jié)構(gòu)Series對象129
5.1.2二維數(shù)據(jù)結(jié)構(gòu)DataFrame對象131
5.2瀏覽數(shù)據(jù)和操作數(shù)據(jù)132
5.2.1瀏覽數(shù)據(jù)132
5.2.2操作數(shù)據(jù)136
5.2.3數(shù)據(jù)轉(zhuǎn)換140
5.3Pandas讀寫數(shù)據(jù)140
5.3.1讀寫Excel140
5.3.2讀取CSV文件142
5.3.3讀寫JSON143
5.3.4從數(shù)據(jù)庫中讀寫數(shù)據(jù)143
5.4Pandas在巖石地球化學(xué)數(shù)據(jù)分析中的應(yīng)用145
練習(xí)題146
第6章圖形用戶界面149
6.1使用tkinter149
6.1.1創(chuàng)建窗口149
6.1.2窗口上增加部件151
6.1.3部件綁定事件152
6.1.4部件的常用布局154
6.1.5部件的使用方法156
6.1.6tkinter的消息框165
6.1.7tkinter的進(jìn)階庫ttk166
6.1.8tkinter面向?qū)ο缶幊?71
6.2使用PyQt5172
6.2.1創(chuàng)建窗口173
6.2.2窗口上增加部件174
6.2.3事件與信號(hào)的處理175
6.2.4PyQt5面向?qū)ο缶幊?75
6.2.5PyQt5布局177
6.2.6使用Qt Designer186
6.3GUI上使用matplotlib193
6.3.1tkinter窗口上應(yīng)用matplotlib193
6.3.2PyQt5窗口上應(yīng)用matplotlib194
練習(xí)題195
第7章數(shù)據(jù)庫197
7.1連接數(shù)據(jù)庫197
7.2連接對象199
7.3查詢記錄201
7.3.1使用游標(biāo)獲取數(shù)據(jù)201
7.3.2查詢語句202
7.3.3查詢結(jié)果返回的形式205
7.3.4使用Pandas獲取和分析數(shù)據(jù)205
7.4建立數(shù)據(jù)表206
7.5插入記錄206
7.6其他SQL207
7.7GUI與數(shù)據(jù)庫207
7.8利用ORM模型訪問數(shù)據(jù)庫209
7.9編程中注入SQL攻擊的問題212
練習(xí)題215
第8章網(wǎng)絡(luò)爬蟲217
8.1爬蟲需要安裝的庫文件217
8.2爬蟲步驟218
8.3webbrowser221
8.4用requests模塊從Web上下載文件221
8.5解析庫的使用222
8.5.1beautiful soup解析庫223
8.5.2lxml庫及XPath語法226
8.5.3爬取圖片示例230
8.6異步加載下網(wǎng)頁的爬取232
8.6.1識(shí)別異步加載的網(wǎng)頁232
8.6.2利用逆向工程識(shí)別Ajax加載網(wǎng)頁的URL232
8.7用Selenium模塊控制瀏覽器234
8.7.1Chrome瀏覽器下環(huán)境的配置234
8.7.2在頁面中尋找元素235
8.7.3單擊頁面中鏈接236
練習(xí)題237
第9章計(jì)算機(jī)視覺庫OpenCV240
9.1圖像數(shù)字化240
9.1.1顏色空間(colorspace)241
9.1.2圖像類型241
9.1.3圖像頻率241
9.1.4OpenCV視覺庫242
9.2讀取、顯示、保存圖像242
9.3顏色空間變換243
9.4圖像基本操作245
9.5繪制直方圖254
9.5.1cv2.calcHist函數(shù)繪制直方圖254
9.5.2使用掩膜制作指定范圍內(nèi)的直方圖255
9.6圖像閾值256
9.7圖像平滑260
9.7.1二維離散卷積261
9.7.2濾波262
9.8圖像邊緣檢測267
9.8.1Sobel算子267
9.8.2Laplacian算子268
9.8.3Canny邊界檢測269
9.9模板匹配270
9.10圖像特征點(diǎn)檢測272
9.10.1Harris角點(diǎn)檢測273
9.10.2SIFT算法提取和檢測特征273
9.10.3SURF算法提取和檢測特征275
9.11圖像匹配275
9.12仿射變換277
9.13圖像匹配在光學(xué)顯微鏡中的應(yīng)用280
9.13.1目標(biāo)定位281
9.13.2光學(xué)顯微鏡旋轉(zhuǎn)前后圖像的對準(zhǔn)281
練習(xí)題283
第10章Python Web框架287
10.1Flask入門288
10.2路由289
10.3靜態(tài)文件290
10.4Flask的模板293
10.5Flask提交表單295
10.5.1post()方法提交表單295
10.5.2get()方法提交表單297
10.6Flask Cookies298
10.7Flask Session300
10.8Flask重定向301
10.9Flask文件上傳302
10.10應(yīng)用Echarts繪制燒結(jié)廠成本構(gòu)成圖303
10.10.1Echarts基本用法303
10.10.2jQuery基本用法304
10.10.3成本數(shù)據(jù)庫306
10.11網(wǎng)頁中顯示matplotlib繪制的圖像309
練習(xí)題310
參考文獻(xiàn)312