相關主題
商品描述
<內容介紹>
本書以培養讀者以計算機科學家一樣的思維方式來理解Python語言編程。貫 穿全書的主體是如何思考、設計、開發的方法,而具體的編程語言,只是提供了一個具體場景方便介紹的媒介。
全書共21章,詳細介紹Python語言編程的方方面面。本書從基本的編程概念開始講起,包括語言的語法和語義,而且每個編程概念都有清晰的定義,引領讀者循序漸進地學習變量、表達式、語句、函數和數據結構。書中還探討瞭如何處理文件和數據庫,如何理解對象、方法和麵向對象編程,如何使用調試技巧來修正語法錯誤、運行時錯誤和語義錯誤。每一章都配有術語表和練習題,方便讀者鞏固所學的知識和技巧。此外,每一章都抽出一節來講解如何調試程序。作者針對每章所專註的語言特性,或者相關的開發問題,總結了調試的方方面面。
本書的第2版與第1版相比,做了很多更新,將編程語言從Python 2升級成Python 3,並修改了很多示例和練習,增加了新的章節,更全面地介紹Python語言。
這是一本實用的學習指南,適合沒有Python編程經驗的程序員閱讀,也適合高中或大學的學生、Python愛好者及需要瞭解編程基礎的人閱讀。對於首次接觸程序設計的人來說,是一本不可多得的佳作。
<章節目錄>
第1章程序之道1
1.1什麼是程序1
1.2運行Python 2
1.3第一個程序3
1.4算術操作符3
1.5值和類型4
1.6形式語言和自然語言5
1.7調試6
1.8術語表7
1.9練習8
第2章變量、表達式和語句9
2.1賦值語句9
2.2變量名稱9
2.3表達式和語句10
2.4腳本模式11
2.5操作順序12
2.6字符串操作13
2.7註釋13
2.8調試14
2.9術語表15
2.10練習16
第3章函數17
3.1函數調用17
3.2數學函數18
3.3組合19
3.4添加新函數19
3.5定義和使用21
3.6執行流程21
3.7形參和實參22
3.8變量和形參是局部的23
3.9棧圖23
3.10有返回值函數和無返回值函數24
3.11為什麼要有函數25
3.12調試26
3.13術語表26
3.14練習27
第4章案例研究:接口設計30
4.1 turtle模塊30
4.2簡單重複31
4.3練習32
4.4封裝33
4.5泛化34
4.6接口設計34
4.7重構35
4.8一個開發計劃36
4.9文檔字符串37
4.10調試38
4.11術語表38
4.12練習39
第5章條件和遞歸41
5.1向下取整除法操作符和求模操作符41
5.2布爾表達式42
5.3邏輯操作符42
5.4條件執行43
5.5選擇執行43
5.6條件鏈44
5.7嵌套條件44
5.8遞 歸45
5.9遞歸函數的棧圖46
5.10無限遞歸47
5.11鍵盤輸入47
5.12調試48
5.13術語表49
5.14練習50
第6章有返回值的函數53
6.1返回值53
6.2增量開發54
6.3組合56
6.4布爾函數57
6.5再談遞歸58
6.6堅持信念59
6.7另一個示例60
6.8檢查類型60
6.9調試61
6.10術語表63
6.11練習63
第7章迭代65
7.1重新賦值65
7.2更新變量66
7.3 while語句66
7.4 break語句68
7.5平方根68
7.6算法70
7.7調試70
7.8術語表71
7.9練習71
第8章字符串73
8.1字符串是一個序列73
8.2 len 74
8.3使用for循環進行遍歷74
8.4字符串切片75
8.5字符串是不可變的76
8.6搜索77
8.7循環和計數77
8.8字符串方法78
8.9操作符in 79
8.10字符串比較79
8.11調試80
8.12術語表82
8.13練習82
第9章案例分析:文字遊戲85
9.1讀取單詞列表85
9.2練習86
9.3搜索87
9.4使用下標循環88
9.5調試90
9.6術語表90
9.7練習91
第10章列表93
10.1列表是一個序列93
10.2列表是可變的94
10.3遍歷一個列表95
10.4列表操作95
10.5列表切片96
10.6列表方法96
10.7映射、過濾和化簡97
10.8刪除元素98
10.9列表和字符串99
10.10對象和值100
10.11別名101
10.12列表參數102
10.13調試103
10.14術語表104
10.15練習105
第11章字典108
11.1字典是一種映射108
11.2使用字典作為計數器集合110
11.3循環和字典111
11.4反向查找111
11.5字典和列表112
11.6備忘114
11.7全局變量115
11.8調試117
11.9術語表118
11.10練習119
第12章元組121
12.1元組是不可變的121
12.2元組賦值122
12.3作為返回值的元組123
12.4可變長參數元組124
12.5列表和元組124
12.6字典和元組126
12.7序列的序列127
12.8調試128
12.9術語表129
12.10練習129
第13章案例研究:選擇數據結構132
13.1單詞頻率分析132
13.2隨機數133
13.3單詞直方圖134
13.4最常用的單詞135
13.5可選形參136
13.6字典減法137
13.7隨機單詞138
13.8馬爾可夫分析138
13.9數據結構140
13.10調試141
13.11術語表142
13.12練習143
第14章文件144
14.1持久化144
14.2讀和寫144
14.3格式操作符145
14.4文件名 和路徑146
14.5捕獲異常147
14.6數據庫148
14.7封存149
14.8管道150
14.9編寫模塊151
14.10調試152
14.11術語表152
14.12練習153
第15章類和對象155
15.1用戶定義類型155
15.2屬性156
15.3矩形157
15.4作為返回值的實例158
15.5對像是可變的159
15.6複製159
15.7調試161
15.8術語表161
15.9練習162
第16章類和函數163
16.1時間163
16.2純函數164
16.3修改器165
16.4原型和計劃166
16.5調試167
16.6術語表168
16.7練習168
第17章類和方法170
17.1面向對象特性170
17.2打印對象171
17.3另一個示例172
17.4一個更複雜的示例173
17.5 init方法173
17.6 _ _str_ _方法174
17.7操作符重載175
17.8基於類型的分發175
17.9多態177
17.10接口和實現177
17.11調試178
17.12術語表179
17.13練習179
第18章繼承181
18.1卡片對象181
18.2類屬性182
18.3對比卡牌183
18.4牌組184
18.5打印牌組185
18.6添加、刪除、洗牌和排序185
18.7繼承186
18.8類圖188
18.9數據封裝189
18.10調試190
18.11術語表191
18.12練習191
第19章Python拾珍194
19.1條件表達式194
19.2列表理解195
19.3生成器表達式196
19.4 any和all 197
19.5集合197
19.6計數器199
19.7 defaultdict 200
19.8命名元組201
19.9收集關鍵詞參數202
19.10術語表203
19.11練習203
第20章調試205
20.1語法錯誤205
20.2運行時錯誤207
20.2.1我的程序什麼都不做207
20.2.2我的程序卡死了207
20.2.3無限循環208
20.2.4無限遞歸208
20.2.5執行流程208
20.2.6當我運行程序,會得到一個異常209
20.2.7我添加了太多print語句,被輸出淹沒了210
20.3語義錯誤210
20.3.1我的程序運行不正確211
20.3.2我有一個巨大而復雜的表達式,而它和我預料的不同211
20.3.3我有一個函數,返回值和預期不同212
20.3.4我真的真的卡住了,我需要幫助212
20.3.5不行,我真的需要幫助212
第21章算法分析214
21.1增長量級215
21.2 Python基本操作的分析217
21.3搜索算法的分析218
21.4散列表219
21.5術語表223
譯後記224