本書以培養讀者以計算機科學傢一樣的思維方式來理解Python語言編程。貫穿全書的主體是如何思考、設計、開發的方法,而具體的編程語言,隻是提供瞭一個具體場景方便介紹的媒介。
全書共21章,詳細介紹Python語言編程的方方麵麵。本書從基本的編程概念開始講起,包括語言的語法和語義,而且每個編程概念都有清晰的定義,引領讀者循序漸進地學習變量、錶達式、語句、函數和數據結構。書中還探討瞭如何處理文件和數據庫,如何理解對象、方法和麵嚮對象編程,如何使用調試技巧來修正語法錯誤、運行時錯誤和語義錯誤。每一章都配有術語錶和練習題,方便讀者鞏固所學的知識和技巧。此外,每一章都抽齣一節來講解如何調試程序。作者針對每章所專注的語言特性,或者相關的開發問題,總結瞭調試的方方麵麵。
本書的第2版與第1版相比,做瞭很多更新,將編程語言從Python 2升級成Python 3,並修改瞭很多示例和練習,增加瞭新的章節,更全麵地介紹Python語言。
這是一本實用的學習指南,適閤沒有Python編程經驗的程序員閱讀,也適閤高中或大學的學生、Python愛好者及需要瞭解編程基礎的人閱讀。對於首次接觸程序設計的人來說,是一本不可多得的佳作。
像計算機科學傢一樣思考Python (第2版) 下載 mobi epub pdf txt 電子書
第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
· · · · · · (
收起)
評分
☆☆☆☆☆
非常好的Python入門書,即使對編程一無所知的人也能相對容易地讀懂,有編程基礎自不必說,可以很快地讀完
評分
☆☆☆☆☆
最好的python入門書籍
評分
☆☆☆☆☆
作者很注重由淺到深,不會牽扯過多不必要的概念讓讀者不斷受挫、喪失信心。
評分
☆☆☆☆☆
作者一些代碼風格不是特彆推薦,不過鑒於是麵嚮0基礎讀者的還可以理解,畢竟本書的重點不是 Python 語言本身,而是藉此介紹一些通用編程模式。尤其是對麵嚮對象的介紹對初學者非常友好。btw,本書非常適閤用所謂的「費曼方法」來學習。譯者挺用心的,不過都已經是第二版瞭一些術語的翻譯仍然不規範,比如 alias/假名,listcomps/列錶理解,算是比較低級的錯誤。
評分
☆☆☆☆☆
github上有中文翻譯版:https://github.com/bingjin/ThinkPython2-CN
評分
☆☆☆☆☆
我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看...
評分
☆☆☆☆☆
[https://github.com/Kivy-CN/ThinkPython-en-cn] ==========================================================================================================================================================
評分
☆☆☆☆☆
[https://github.com/Kivy-CN/ThinkPython-en-cn] ==========================================================================================================================================================
評分
☆☆☆☆☆
1.很适合没学过编程的人 2.也只适合没学过编程的人,对于学过编程想入门python的人,不太建议看这本书,里面介绍的内容太基础,太少了,更推荐官方的python tutorial 3.作者很用心,我看的很不耐烦,因为我学了编程好久了!sorry to say that
評分
☆☆☆☆☆
Think Python is an introduction to Python programming for students with no programming experience. It starts with the most basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept ...