Python編程基礎教程

H.Bhasin 李軍譯

  • Python編程基礎教程-preview-1
  • Python編程基礎教程-preview-2
Python編程基礎教程-preview-1

商品描述

本書是Python編程方面的入門教程。
全書共20章,通過淺顯易懂的語言和豐富實用的示例,
介紹了對象、條件語句、循環、函數、迭代器、生成器、
文件處理、字符串處理、面向對象範型、類、繼承、
運算符重載、異常處理、數據結構、棧、隊列、鍊錶、
二叉搜索樹等編程知識,並介紹了NumPy、Matplotlib等庫的應用。

本書不僅適合Python初學者閱讀,也適合高等院校計算機相關專業的學生參考。

作者簡介

H.Bhasin

是一位專業程序員,著有Programing in C#、 Design and Analysis of Algorithms等。

目錄大綱

第1章Python簡介1
1.1簡介1
1.2 Python的特點2
1.2.1容易2
1.2.2輸入並運行2
1.2.3語法2
1.2.4混合性3
1 .2.5動態類型3
1.2.6內置對像類型3
1.2.7大量的庫和工具3
1.2.8可移植性3
1.2.9免費3
1.3編程範型3
1.3.1過程式編程3
1.3.2面向對象編程4
1.3.3函數式編程4
1.4 Python的發展歷史和應用前景4
1.4.1發展歷史4
1.4. 2應用前景4
1.5安裝Anaconda 5
1.6小結9
1.6.1術語9
1.6.2知識要點9
1.7練習10
1.8理論回顧11

第2章Python對象12
2.1簡介12
2.2基本數據類型14
2.2.1先睹為快15
2.2.2分數和小數16
2.3字符串16
2.3.1分片18
2.3.2字符串的不可變性18
2.4列表和元組19
2.4.1列表19
2.4.2元組20
2.4.3元組的特點21
2.5小結21
2.5.1術語22
2.5.2知識要點22
2.6練習22
2.7編程實踐24

第3章條件語句25
3.1簡介25
3.2 if、if-else和if-elif-else結構25
3.3 if-elif-else階梯判斷30
3.4邏輯運算符30
3.5三元運算符31
3.6 get結構32
3.7示例33
3.8小結36
3.8.1語法36
3.8.2知識要點37
3. 9練習37
3.10編程實踐39

第4章循環41
4.1簡介41
4.2 while 42
4.3圖案44
4.4嵌套循環及其在列表中的應用48
4.5小結50
4. 5.1術語和語法51
4.5.2知識要點51
4.6練習51
4.7編程實踐53

第5章函數54
5.1簡介54
5.2函數的特點54
5.2.1模塊式編程54
5.2.2代碼的可複用性54
5.2.3可管理性55
5.3基本術語55
5. 3.1函數的命名55
5.3.2參數55
5.3.3返回值55
5.4定義和調用56
5.5函數的類型58
5.6實現搜索59
5.7作用域60
5. 8遞歸62
5.8.1兔子問題62
5.8.2使用遞歸的缺點64
5.9小結64
5.9.1術語65
5.9.2知識要點65
5.10練習65
5.11編程實踐66
5.12關於遞歸的問題66
5.13理論回顧67
5.14附加題67

第6章迭代器、生成器和列表解析70
6.1簡介70
6.2 for的強大功能70
6.3迭代器72
6.4定義一個可迭代的對象74
6.5生成器75
6.6列表解析78
6.7小結80
6.7.1術語和函數81
6.7.2知識要點81
6.8練習81
6.9理論回顧82
6.10編程實踐82

第7章文件處理84
7.1簡介84
7.2文件操作機制85
7.3 open()函數和文件訪問模式85
7.4用於文件處理的Python函數87
7.4.1基本函數87
7.4.2與操作系統相關的方法88
7.4.3其他函數和文件屬性88
7.5命令行參數89
7.6實現和說明90
7.7小結94
7.8練習94
7.9理論回顧96
7.10編程實踐97

第8章字符串98
8.1簡介98
8.2 for和while的用法98
8.3字符串運算符100
8.3.1連接運算符100
8.3.2替換運算符101
8.3.3成員運算符101
8.4處理字符串的函數102
8.4.1 len()函數102
8 .4.2 capitalize()函數103
8.4.3 find()函數103
8.4.4 count()函數103
8.4.5 endswith()函數104
8.4.6 encode()函數104
8.4.7 decode()函數104
8.4.8其他函數105
8.5小結106
8.5.1術語106
8.5.2知識要點106
8.6練習107
8.7理論回顧108
8.8編程實踐109

第9章面向對象範型簡介110
9.1簡介110
9.2創建新的類型111
9.3屬性和函數112
9.3.1屬性112
9.3.2函數112
9.4面向對象編程的要素114
9.4.1類115
9.4.2對象115
9.4.3封裝115
9. 4.4數據隱藏116
9.4.5繼承116
9.4.6多態117
9.4.7可複用性117
9.5小結117
9.5.1術語118
9.5.2知識要點118
9.6練習119
9.7理論回顧120
9.8探索和設計120

第10章類和對象121
10.1簡介121
10.2定義類122
10.3創建對象122
10.4數據成員的作用域123
10.5嵌套125
10.6構造函數126
10.7構造函數重載127
10.8析構函數129
10. 9小結130
10.9.1術語131
10.9.2知識要點131
10.10練習131
10.11理論回顧133
10.12編程實踐133

第11章繼承135
11.1繼承和組合135
11.1 .1繼承和方法136
11.1.2組合138
11.2繼承的重要性及其類型141
11.2.1繼承的必要性142
11.2.2繼承的類型143
11.3方法149
11. 3.1綁定的方法149
11.3.2未綁定的方法150
11.3.3方法是可調用的對象151
11.3.4超類的重要性和用法152
11.3.5使用super調用基類函數152
11.4在繼承樹中搜索153
11.5類接口和抽像類155
11.6小結156
11.6.1術語157
11.6.2知識要點157
11.7練習157
11.8理論回顧159
11.9編程實踐159

第12章運算符重載161
12.1簡介161
12.2回顧__init__ 161
12.3重載二元運算符的方法164
12.4以分數為例重載二元運算符164
12.5重載+=運算符168
12.6重載>和<運算符169
12.7重載__boolEan__運算符——__bool__與__len__的優先級170
12.8析構函數172
12.9小結173
12.9.1術語173
12.9.2知識要點173
12.10練習173
12.11理論回顧174
12.12編程實踐175

第13章異常處理177
13.1簡介177
13.2重要性和機制178
13.2.1 try/catch的例子179
13.2.2手動引發異常180
13.3 Python中內置的異常180
13.4過程181
13.4.1異常處理——try/except 182
13.4.2引發異常182
13.5構造用戶友好的異常183
13.6異常處理的示例184
13.7小結186
13.7.1語法187
13.7.2知識要點187
13 .8練習187
13.9理論回顧188
13.10編程實踐189

第14章數據結構簡介190
14.1簡介190
14.2抽像數據類型192
14.3算法193
14.4數組194
14.5迭代算法和遞歸算法197
14.5.1迭代算法198
14.5.2遞歸算法200
14.6小結202
14.6.1術語202
14.6.2知識要點202
14.7練習203
14.8理論回顧204
14.9編程實踐204

第15章棧和隊列206
15.1簡介206
15.2棧206
15.3棧的動態實現208
15.4動態實現棧的另一種方法210
15.5棧的應用211
15.5.1反轉一個字符串211
15.5.2中綴表達式、前綴表達式和後綴表達式212
15.6隊列214
15.7小結216
15.7.1術語216
15.7.2知識要點217
15.8練習217
15. 9理論回顧218
15.10附加題218
15.11編程實踐219

第16章鍊錶220
16.1簡介220
16.2操作221
16.3使用鍊錶實現棧229
16.4使用鍊錶實現隊列231
16.5小結232
16.5.1術語233
16.5.2知識點233
16.6練習233
16.7理論回顧234
16.8編程實踐235
16.9探索和設計235

第17章二叉搜索樹236
17 .1簡介236
17.2定義和術語236
17.2.1圖的定義和表示236
17.2.2樹的定義、分類和表示237
17.2.3二叉樹的表示239
17.2.4樹的遍歷——中序、前序和後序240
17.3二叉搜索樹241
17.3.1創建和插入242
17.3.2遍歷245
17.3.3最大元素和最小元素246
17.4小結248
17.4.1術語248
17.4.2知識要點249
17.5練習249
17.6附加題250
17 .7編程實踐251

第18章NumPy簡介252
18.1簡介252
18.2 NumPy簡介以及基本數組的創建253
18.3生成序列的函數254
18.3.1 arange() 255
18.3.2 linspace () 255
18.3.3 logspace() 256
18.4聚合函數256
18.5廣播259
18.6結構化數組262
18.7小結264
18.8練習264
18.9理論回顧266
18.10編程實踐266

第19章Matplotlib簡介268
19.1簡介268
19.2繪製函數268
19.3繪製子圖276
19.4 3D繪圖280
19.5小結285
19.5.1術語285
19.5.2知識要點286
19.6練習286
19.7理論回顧287
19.8編程實踐287

第20章圖像處理簡介289
20.1簡介289
20.2打開、讀取和寫入圖像290
20.2.1打開圖像290
20 .2.2讀取圖像291
20.2.3把圖像寫入一個文件中291
20.2.4顯示圖像291
20.3 contour()函數292
20.4裁剪293
20.5圖像的統計信息295
20.6基本變換295
20.6.1平移295
20.6.2旋轉296
20.6.3縮放297
20.7小結298
20.7.1術語299
20.7.2知識要點299
20.8練習299
20.9理論回顧300
20.10編程實踐300
附錄A Python中的多線程301
附錄B正則表達式306
附錄C實踐練習和編程問題312
附錄D實踐練習——選擇題320
附錄E各章選擇題答案324
收起全部↑