本書共分為4篇18章,第1篇為Python入門,主要介紹Python的功能、使用和學習方法。第2篇為Python應用基礎,主要介紹變量與字符串、列表、元組和字典、控制語句、函數、模塊與包、遞歸、文件、異常、面向對象技術、查找與排序。第3篇為Python科學計算與數據可視化,主要介紹Python科學計算庫、Matplotlib數據可視化。第4篇為Python深度學習與實戰(zhàn),主要介紹數據挖掘、植物病害識別案例和皮膚癌變類識別實例。
本書適合Python初學者或愛好者作為入門教材,也可以作為軟件技術基礎、深度學習、人工智能等課程的參考教材。
第1篇Python入門001
第1章Python的“魔法”001
1.1Python是什么001
1.2Python能做什么001
1.3Python怎么樣002
第2章Python的使用方法003
2.1Python安裝003
2.1.1Windows下安裝Python003
2.1.2Linux下安裝Python(以Ubuntu為例)003
2.1.3Anaconda的使用004
2.2選擇合適的開發(fā)環(huán)境007
2.2.1Spyder的使用007
2.2.2PyCharm的安裝與使用009
2.2.3文本編輯器配合終端的使用方法011
2.3Python初體驗012
2.3.1第一個Python程序012
2.3.2Python語言風格014
2.4管理Python庫014
2.4.1模塊的導入014
2.4.2第三方庫的安裝與導入014
2.4.3國內鏡像源介紹015
第3章Python高效學習方法016
3.1如何使用本書016
3.2如何提高Python編程能力016
第2篇Python應用基礎017
第4章簡單變量與字符串017
4.1變量賦值017
4.1.1單變量賦值017
4.1.2多變量賦值018
4.2數字用法及其類型018
4.2.1數字用法018
4.2.2數據類型018
4.3字符串021
4.3.1字符串的聲明和訪問021
4.3.2字符串拼接022
4.3.3字符串修改022
4.3.4字符串其他常用方法023
4.4變量的命名規(guī)則024
第5章列表、元組和字典026
5.1列表026
5.2元組031
5.3字典033
第6章控制語句039
6.1True和False039
6.2條件判斷039
6.2.1if-else040
6.2.2elif040
6.3循環(huán)041
6.3.1for語句041
6.3.2while語句043
6.3.3循環(huán)嵌套043
6.3.4break語句044
6.3.5continue語句045
第7章函數047
7.1函數基礎047
7.2函數名稱及函數的調用047
7.3函數的參數傳遞047
7.4變量作用域050
7.5函數式編程052
7.6Python內置函數055
第8章模塊和包058
8.1模塊058
8.2編寫模塊058
8.3包059
第9章遞歸061
9.1遞歸定義061
9.2遞歸函數061
9.3字符串反轉061
9.4重組詞062
9.5快速求冪062
9.6二分查找063
第10章文件065
10.1打開文件065
10.2文件基本操作方法065
10.3對文件內容進行迭代067
第11章異常072
11.1什么是異常072
11.2捕獲異常072
11.3引發(fā)異常074
11.4斷言075
11.5實現自定義異常076
11.6with關鍵字076
第12章面向對象技術079
12.1OOD概念079
12.2類079
12.2.1類的聲明與定義079
12.2.2類的實例化與使用080
12.2.3封裝083
12.2.4訪問權限084
12.2.5類的內建函數085
12.2.6@property裝飾器085
12.2.7枚舉類088
12.2.8類的存儲與導入089
12.3繼承和多態(tài)090
12.3.1__bases__屬性090
12.3.2繼承的基本概念090
12.3.3多態(tài)091
12.3.4從標準類型派生091
12.3.5多重繼承和多繼承092
12.4迭代器095
12.5生成器098
第13章查找與排序102
13.1查找案例102
13.1.1簡單的查找問題102
13.1.2策略1:線性查找103
13.1.3策略2:二分查找104
13.1.4策略3:插值查找104
13.2排序案例105
13.2.1選擇排序105
13.2.2歸并排序106
13.2.3插入排序107
13.2.4快速排序107
13.2.5冒泡排序108
第3篇Python科學計算與數據可視化110
第14章Python科學計算庫110
14.1NumPy簡介110
14.1.1NumPy的應用110
14.1.2NumPy有什么功能?111
14.1.3使用NumPy的優(yōu)勢111
14.1.4NumPy開發(fā)環(huán)境112
14.2數組的索引112
14.2.1基本索引112
14.2.2切片索引115
14.2.3布爾型索引116
14.2.4花式索引116
14.3數組的計算:廣播117
14.4比較、掩碼和布爾邏輯119
14.4.1和通用函數類似的比較操作119
14.4.2操作布爾數組119
14.4.3布爾數組作為掩碼120
14.5數組的排序121
14.6結構化數組124
14.6.1結構化數據類型124
14.6.2結構化數組的索引和分配125
14.7Pandas數值運算方法127
14.8處理缺失值131
第15章Matplotlib數據可視化136
15.1Matplotlib常用技巧136
15.2兩種畫圖接口136
15.3簡易線性圖138
15.4簡易散點圖139
第4篇Python深度學習與實戰(zhàn)141
第16章數據挖掘141
16.1流程介紹141
16.2導入和可視化數據141
16.3數據分類與回歸144
16.3.1Logistic回歸144
16.3.2K-近鄰算法145
16.3.3樸素貝葉斯算法145
16.3.4決策樹145
16.4聚類145
16.5數據降維148
第17章植物病害識別案例150
17.1案例背景150
17.2案例要求150
17.3案例步驟150
17.3.1數據加載151
17.3.2圖像預處理153
17.3.3模型搭建與修改155
17.3.4模型訓練157
17.3.5模型驗證159
17.3.6訓練參數存儲159
17.3.7中間結果的打印160
17.4案例代碼161
第18章皮膚癌變類識別實例169
18.1實例背景169
18.2實例要求169
18.3任務步驟170
18.3.1數據加載與預處理170
18.3.2模型調用與修改173
18.3.3模型構建與參數設定173
18.3.4模型訓練與驗證173
18.3.5Callback函數調用174
18.3.6中間結果的打印175
18.4實例代碼175
參考文獻187