●第1章Python語言基礎1
1.1Python語言的特點1
1.2Python應用領域2
1.3Python解釋器3
1.4Python開發環境的安裝3
1.5編寫Python代碼6
1.5.1用文本編輯器編寫代碼6
1.5.2用命令行格式的PythonShell編寫代碼9
1.5.3用帶圖形界面的PythonShell編寫交互式代碼10
1.5.4用帶圖形界面的PythonShell編寫程序代碼11
1.6Python中的注釋12
1.6.1Python中的單行注釋12
1.6.2Python中的多行注釋12
1.7Python中的對像12
1.7.1對像的身份13
1.7.2對像的類型13
1.7.3對像的值13
1.7.4對像的引用13
1.7.5對像的共享引用14
1.7.6對像是否相等的判斷14
1.8Python中的變量15
1.9Python中的基本數據類型15
1.9.1number16
1.9.2string17
1.9.3list31
1.9.4tuple391.9.5dictionary41
1.9.6set46
1.9.7Python數據類型之間的轉換49
1.10Python中的運算符51
1.11Python中的數據輸入56
1.12Python中的數據輸出57
1.12.1表達式語句輸出57
1.12.2print()函數輸出58
1.12.3字符串對像的format方法的格式化輸出60
1.13Python中的文件的基本操作63
1.14Python庫的導入與擴展庫的安裝64
1.14.1庫的導入64
1.14.2擴展庫的安裝65
習題66
第2章選擇結構程序設計68
2.1布爾表達式68
2.2選擇結構69
2.2.1單向if語句69
2.2.2雙向ifelse語句70
2.2.3嵌套if和多向ifelifelse語句71
2.3條件表達式73
2.4選擇結構程序舉例74
習題77
第3章循環結構程序設計78
3.1while循環78
3.2循環控制策略83
3.2.1交互式循環83
3.2.2哨兵式循環84
3.2.3文件式循環85
3.3for循環86
3.3.1for循環的基本用法86
3.3.2for循環與range()函數的結合使用89
3.4循環中的break、continue和else92
3.4.1用break語句提前終止循環92
3.4.2用continue語句提前結束本次循環93
3.4.3循環語句的else子句93
3.5循環結構程序舉例96
習題100
第4章函數101
4.1為什麼要用函數101
4.2怎樣定義函數103
4.3函數調用104
4.3.1帶有返回值的函數調用104
4.3.2不帶返回值的函數調用107
4.4函數參數傳遞107
4.5函數參數的類型108
4.5.1位置參數108
4.5.2關鍵字參數108
4.5.3默認值參數109
4.5.4可變長度參數109
4.5.5序列解包參數110
4.6函數模塊化112
4.7lambda表達式113
4.7.1lambda和def的區別114
4.7.2自由變量對lambda表達式的影響116
4.8變量的作用域117
4.8.1變量的局部作用域117
4.8.2變量的全局作用域118
4.8.3變量的嵌套作用域119
4.9函數的遞歸調用120
4.10常用內置函數124
4.10.1map()函數124
4.10.2reduce()函數125
4.10.3filter()函數127
4.11函數舉例127
習題133
第5章正則表達式134
5.1什麼是正則表達式134
5.2正則表達式的構成134
5.3正則表達式的模式匹配137
5.3.1正則表達式的邊界匹配137
5.3.2正則表達式的分組、選擇和引用匹配138
5.3.3正則表達式的貪婪匹配與懶惰匹配141
5.4正則表達式模塊re142
5.5正則表達式對像145
5.6Match對像148
5.7正則表達式舉例150
習題152
第6章文件與文件夾操作154
6.1文本文件154
6.1.1文本文件的字符編碼154
6.1.2文本文件的打開156
6.1.3文本文件的寫入159
6.1.4文本文件的讀取160
6.1.5文本文件指針的定位162
6.2二進制文件163
6.2.1二進制文件的寫入163
6.2.2二進制文件的讀取164
6.2.3字節數據類型的轉換164
6.3文件與文件夾操作166
6.3.1使用os操作文件與文件夾166
6.3.2使用os.path操作文件與文件夾168
6.3.3使用shutil操作文件與文件夾170
6.4csv文件的讀取和寫入172
6.4.1使用csv.reader()讀取csv文件172
6.4.2使用csv.writer()寫入csv文件173
6.4.3使用csv.DictReader()讀取csv文件175
6.4.4使用csv.DictWriter()寫入csv文件176
6.4.5csv文件的格式化參數177
6.4.6自定義dialect179
6.5文件與文件操作舉例180
習題181
第7章面向對像程序設計182
7.1定義類183
7.2創建類的對像184
7.3類中的屬性185
7.3.1類的對像屬性185
7.3.2類屬性186
7.3.3私有屬性和公有屬性188
7.3.4@property裝飾器189
7.4類中的方法192
7.4.1類的對像方法192
7.4.2類方法194
7.4.3類的靜態方法195
7.5類的繼承196
7.5.1單繼承196
7.5.2類的多重繼承200
7.5.3類成員的繼承和重寫203
7.5.4查看繼承的層次關繫203
7.6object類204
7.7對像的引用、淺復制和深復制205
7.7.1對像的引用205
7.7.2對像的淺復制208
7.7.3對像的深復制209
7.8面向對像程序舉例210
習題213
第8章模塊和包214
8.1模塊214
8.1.1模塊的創建214
8.1.2模塊的導入和使用215
8.1.3模塊的主要屬性216
8.2導入模塊時搜索目錄的順序與繫統目錄的添加219
8.2.1導入模塊時搜索目錄的順序219
8.2.2使用sys.path.append()臨時增添繫統目錄220
8.2.3使用pth文件較為添加繫統目錄220
8.2.4使用PYTHONPATH環境變量較為添加繫統目錄221
8.3包221
8.3.1包的創建221
8.3.2包的導入與使用222
習題223
第9章算法與數據結構基礎224
9.1算法概述224
9.2查找算法225
9.2.1順序查找225
9.2.2二分查找226
9.2.3插值查找228
9.3排序算法229
9.3.1冒泡排序229
9.3.2選擇排序230
9.3.3插入排序231
9.3.4歸並排序232
9.3.5快速排序233
9.4常用數據結構235
9.4.1自定義矩陣235
9.4.2自定義棧240
9.4.3自定義隊列242
9.4.4自定義二叉樹245
習題252
第10章錯誤和異常處理253
10.1程序的錯誤253
10.1.1常犯的9個錯誤253
10.1.2常見的錯誤類型256
10.2異常處理概述259
10.2.1異常概述259
10.2.2異常類型259
10.2.3異常處理260
10.2.4主動拋出異常265
10.2.5自定義異常類267
10.3斷言處理269
10.3.1斷言處理概述269
10.3.2啟用/禁用斷言270
10.3.3斷言使用場景270
10.4程序的調試方法272
10.4.1使用print調試272
10.4.2使用IDLE調試272
10.4.3使用pdb調試276
習題283
第11章圖形用戶界面284
11.1圖形用戶界面庫284
11.2tkinter模塊285
11.2.1tkinter概述285
11.2.2tkinter圖形用戶界面的構成286
11.3tkinter主要的構件類287
11.3.1Label類287
11.3.2Button類291
11.3.3Radiobutton類295
11.3.4Checkbutton類296
11.3.5Listbox類298
11.3.6Menu類301
11.3.7Message類305
11.3.8Entry類307
11.3.9Text類308
11.3.10Frame類312
11.4幾何布局管理器312
11.4.1pack布局管理器313
11.4.2grid布局管理器314
11.4.3place布局管理器316
習題317
第12章用matplotlib實現數據可視化318
12.1matplotlib架構318
12.1.1後端層319
12.1.2表現層319
12.1.3腳本層321
12.2matplotlib的pyplot子庫322
12.2.1繪制線形圖324
12.2.2繪制直方圖331
12.2.3繪制條形圖333
12.2.4繪制餅圖336
12.2.5繪制散點圖339
習題341
參考文獻342