本書共分為4篇18章,第1篇為Python入門,主要介紹Python的功能、使用和學習方法。第2篇為Python應用基礎,主要介紹變量與字符串、列表、元組和字典、控制語句、函數(shù)、模塊與包、遞歸、文件、異常、面向?qū)ο蠹夹g(shù)、查找與排序。第3篇為Python科學計算與數(shù)據(jù)可視化,主要介紹Python科學計算庫、Matplotlib數(shù)據(jù)可視化。第4篇為Python深度學習與實戰(zhàn),主要介紹數(shù)據(jù)挖掘、植物病害識別案例和皮膚癌變類識別實例。
本書適合Python初學者或愛好者作為入門教材,也可以作為軟件技術(shù)基礎、深度學習、人工智能等課程的參考教材。
第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國內(nèi)鏡像源介紹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數(shù)字用法及其類型018
4.2.1數(shù)字用法018
4.2.2數(shù)據(jù)類型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章函數(shù)047
7.1函數(shù)基礎047
7.2函數(shù)名稱及函數(shù)的調(diào)用047
7.3函數(shù)的參數(shù)傳遞047
7.4變量作用域050
7.5函數(shù)式編程052
7.6Python內(nèi)置函數(shù)055
第8章模塊和包058
8.1模塊058
8.2編寫模塊058
8.3包059
第9章遞歸061
9.1遞歸定義061
9.2遞歸函數(shù)061
9.3字符串反轉(zhuǎn)061
9.4重組詞062
9.5快速求冪062
9.6二分查找063
第10章文件065
10.1打開文件065
10.2文件基本操作方法065
10.3對文件內(nèi)容進行迭代067
第11章異常072
11.1什么是異常072
11.2捕獲異常072
11.3引發(fā)異常074
11.4斷言075
11.5實現(xiàn)自定義異常076
11.6with關(guān)鍵字076
第12章面向?qū)ο蠹夹g(shù)079
12.1OOD概念079
12.2類079
12.2.1類的聲明與定義079
12.2.2類的實例化與使用080
12.2.3封裝083
12.2.4訪問權(quán)限084
12.2.5類的內(nèi)建函數(shù)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科學計算與數(shù)據(jù)可視化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數(shù)組的索引112
14.2.1基本索引112
14.2.2切片索引115
14.2.3布爾型索引116
14.2.4花式索引116
14.3數(shù)組的計算:廣播117
14.4比較、掩碼和布爾邏輯119
14.4.1和通用函數(shù)類似的比較操作119
14.4.2操作布爾數(shù)組119
14.4.3布爾數(shù)組作為掩碼120
14.5數(shù)組的排序121
14.6結(jié)構(gòu)化數(shù)組124
14.6.1結(jié)構(gòu)化數(shù)據(jù)類型124
14.6.2結(jié)構(gòu)化數(shù)組的索引和分配125
14.7Pandas數(shù)值運算方法127
14.8處理缺失值131
第15章Matplotlib數(shù)據(jù)可視化136
15.1Matplotlib常用技巧136
15.2兩種畫圖接口136
15.3簡易線性圖138
15.4簡易散點圖139
第4篇Python深度學習與實戰(zhàn)141
第16章數(shù)據(jù)挖掘141
16.1流程介紹141
16.2導入和可視化數(shù)據(jù)141
16.3數(shù)據(jù)分類與回歸144
16.3.1Logistic回歸144
16.3.2K-近鄰算法145
16.3.3樸素貝葉斯算法145
16.3.4決策樹145
16.4聚類145
16.5數(shù)據(jù)降維148
第17章植物病害識別案例150
17.1案例背景150
17.2案例要求150
17.3案例步驟150
17.3.1數(shù)據(jù)加載151
17.3.2圖像預處理153
17.3.3模型搭建與修改155
17.3.4模型訓練157
17.3.5模型驗證159
17.3.6訓練參數(shù)存儲159
17.3.7中間結(jié)果的打印160
17.4案例代碼161
第18章皮膚癌變類識別實例169
18.1實例背景169
18.2實例要求169
18.3任務步驟170
18.3.1數(shù)據(jù)加載與預處理170
18.3.2模型調(diào)用與修改173
18.3.3模型構(gòu)建與參數(shù)設定173
18.3.4模型訓練與驗證173
18.3.5Callback函數(shù)調(diào)用174
18.3.6中間結(jié)果的打印175
18.4實例代碼175
參考文獻187