類似推薦
編輯推薦
編程入門就選蟒蛇書!【經(jīng)典】Python入門經(jīng)典,常居Amazon等編程類圖書TOP榜【暢銷】熱銷全球,以12個語種發(fā)行,影響超過250萬讀者【口碑】好評如潮,第2版豆瓣評分9.2,Amazon4.7星評【升級】代碼基于Python3.11升級,涵蓋語言新特性【資源豐富】隨書代碼+PPT課件+配套視頻+速查手冊【自學利器】零基礎(chǔ)書籍,自學輕松,附贈學習路線圖【品質(zhì)提升】精雕細琢,邀請20位一線開發(fā)人員審讀全書學完蟒蛇書,你能打下堅實的編程基礎(chǔ)、習得優(yōu)秀的編程習慣,更會構(gòu)建讓自己終身受益的計算思維,而這也是AIGC時代與AI共生的基本技能。
內(nèi)容簡介
本書是享譽全球的Python入門書,影響了超過250萬讀者。全書分兩部分:第一部分介紹用Python編程所必須了解的基本概念,包括強大的Python庫和工具,以及列表、字典、if語句、類、文件和異常、代碼測試等內(nèi)容;第二部分將理論付諸實踐,講解如何開發(fā)三個項目,包括簡單的2D游戲、利用數(shù)據(jù)生成交互式的信息圖以及創(chuàng)建和定制簡單的Web應(yīng)用,并幫助讀者解決常見編程問題和困惑。第3版進行了全面修訂:使用了文本編輯器VS Code,新增了介紹removeprefix()方法和removesuffix()方法的內(nèi)容,并且在項目中利用了Matplotlib和Plotly的最新特性,等等。
作者簡介
埃里克.馬瑟斯(Eric Matthes)
締造技術(shù)圖書銷售奇跡的作家,作品影響了全球數(shù)百萬讀者。
致力于推動Python編程在全球的普及。執(zhí)教計算機科學和數(shù)學25年,教學風格輕松有趣,深受學生喜愛。他對編程的熱愛和豐厚的教學經(jīng)驗淋漓盡致地體現(xiàn)在了蟒蛇書《Python編程:從入門到編程》中。
蟒蛇書備受讀者推崇。無論是熟練掌握其他編程語言的程序員,還是年僅10歲的萌新,都是本書的擁躉。本書在全球范圍內(nèi)被翻譯為12種語言,累計熱銷超過250萬冊,其中僅中文版前兩版的銷量就超過了120萬冊。
袁國忠
自由譯者;2000年起專事翻譯,主譯圖書,偶譯新聞稿、軟文;出版譯著40余部,其中包括《C++ Prime Plus中文版》《CCNA學習指南》《CCNP ROUTE學習指南》《面向模式的軟件架構(gòu):模式系統(tǒng)》《Android應(yīng)用UI設(shè)計模式》《風投的選擇:誰是下一個十億美元級公司》等,總計700余萬字;專事翻譯前,從事過三年化工產(chǎn)品分析和開發(fā),做過兩年雜志和圖書編輯。
章節(jié)目錄
第 一部分 基礎(chǔ)知識
第 1章 起步 2
1.1 編程環(huán)境簡介 2
1.1.1 Python版本 2
1.1.2 運行Python代碼片段 2
1.1.3 編輯器VS Code簡介 3
1.2 在各種操作系統(tǒng)中搭建Python編程環(huán)境 3
1.2.1 在Windows系統(tǒng)中搭建Python編程環(huán)境 4
1.2.2 在macOS系統(tǒng)中搭建Python編程環(huán)境 5
1.2.3 在Linux系統(tǒng)中搭建Python編程環(huán)境 6
1.3 運行Hello World程序 7
1.3.1 給VS Code安裝Python擴展 7
1.3.2 運行程序hello_world.py 8
1.4 排除安裝問題 8
1.5 從終端運行Python程序 9
1.5.1 在Windows系統(tǒng)中從終端運行Python程序 9
1.5.2 在Linux和macOS系統(tǒng)中從終端運行Python程序 10
1.6 小結(jié) 11
第 2章 變量和簡單的數(shù)據(jù)類型 12
2.1 運行hello_world.py時發(fā)生的情況 12
2.2 變量 12
2.2.1 變量的命名和使用 13
2.2.2 如何在使用變量時避免命名錯誤 14
2.2.3 變量是標簽 15
2.3 字符串 16
2.3.1 使用方法修改字符串的大小寫 16
2.3.2 在字符串中使用變量 17
2.3.3 使用制表符或換行符來添加空白 18
2.3.4 刪除空白 18
2.3.5 刪除前綴 20
2.3.6 如何在使用字符串時避免語法錯誤 20
2.4 數(shù) 22
2.4.1 整數(shù) 22
2.4.2 浮點數(shù) 23
2.4.3 整數(shù)和浮點數(shù) 23
2.4.4 數(shù)中的下劃線 24
2.4.5 同時給多個變量賦值 24
2.4.6 常量 24
2.5 注釋 25
2.5.1 如何編寫注釋 25
2.5.2 該編寫什么樣的注釋 25
2.6 Python之禪 26
2.7 小結(jié) 27
第3章 列表簡介 28
3.1 列表是什么 28
3.1.1 訪問列表元素 28
3.1.2 索引從0而不是1開始 29
3.1.3 使用列表中的各個值 30
3.2 修改、添加和刪除元素 30
3.2.1 修改列表元素 31
3.2.2 在列表中添加元素 31
3.2.3 從列表中刪除元素 32
3.3 管理列表 37
3.3.1 使用sort()方法對列表進行永久排序 37
3.3.2 使用sorted()函數(shù)對列表進行臨時排序 37
3.3.3 反向打印列表 38
3.3.4 確定列表的長度 39
3.4 使用列表時避免索引錯誤 40
3.5 小結(jié) 41
第4章 操作列表 42
4.1 遍歷整個列表 42
4.1.1 深入研究循環(huán) 43
4.1.2 在for循環(huán)中執(zhí)行更多的操作 44
4.1.3 在for循環(huán)結(jié)束后執(zhí)行一些操作 45
4.2 避免縮進錯誤 45
4.2.1 忘記縮進 46
4.2.2 忘記縮進額外的代碼行 46
4.2.3 不必要的縮進 47
4.2.4 循環(huán)后不必要的縮進 47
4.2.5 遺漏冒號 48
4.3 創(chuàng)建數(shù)值列表 49
4.3.1 使用range()函數(shù) 49
4.3.2 使用range()創(chuàng)建數(shù)值列表 50
4.3.3 對數(shù)值列表執(zhí)行簡單的統(tǒng)計計算 51
4.3.4 列表推導(dǎo)式 52
4.4 使用列表的一部分 53
4.4.1 切片 53
4.4.2 遍歷切片 54
4.4.3 復(fù)制列表 55
4.5 元組 57
4.5.1 定義元組 58
4.5.2 遍歷元組中的所有值 58
4.5.3 修改元組變量 59
4.6 設(shè)置代碼格式 60
4.6.1 格式設(shè)置指南 60
4.6.2 縮進 60
4.6.3 行長 61
4.6.4 空行 61
4.6.5 其他格式設(shè)置指南 61
4.7 小結(jié) 62
第5章 if語句 63
5.1 一個簡單的示例 63
5.2 條件測試 64
5.2.1 檢查是否相等 64
5.2.2 如何在檢查是否相等時忽略大小寫 64
5.2.3 檢查是否不等 65
5.2.4 數(shù)值比較 66
5.2.5 檢查多個條件 66
5.2.6 檢查特定的值是否在列表中 67
5.2.7 檢查特定的值是否不在列表中 68
5.2.8 布爾表達式 68
5.3 if語句 69
5.3.1 簡單的if語句 69
5.3.2 if-else語句 70
5.3.3 if-elif-else語句 71
5.3.4 使用多個elif代碼塊 72
5.3.5 省略else代碼塊 73
5.3.6 測試多個條件 73
5.4 使用if語句處理列表 76
5.4.1 檢查特殊元素 76
5.4.2 確定列表非空 77
5.4.3 使用多個列表 77
5.5 設(shè)置if語句的格式 79
5.6 小結(jié) 80
第6章 字典 81
6.1 一個簡單的字典 81
6.2 使用字典 82
6.2.1 訪問字典中的值 82
6.2.2 添加鍵值對 83
6.2.3 從創(chuàng)建一個空字典開始 83
6.2.4 修改字典中的值 84
6.2.5 刪除鍵值對 85
6.2.6 由類似的對象組成的字典 86
6.2.7 使用get()來訪問值 87
6.3 遍歷字典 88
6.3.1 遍歷所有的鍵值對 88
6.3.2 遍歷字典中的所有鍵 90
6.3.3 按特定的順序遍歷字典中的所有鍵 92
6.3.4 遍歷字典中的所有值 92
6.4 嵌套 94
6.4.1 字典列表 94
6.4.2 在字典中存儲列表 97
6.4.3 在字典中存儲字典 98
6.5 小結(jié) 100
第7章 用戶輸入和while循環(huán) 101
7.1 input()函數(shù)的工作原理 101
7.1.1 編寫清晰的提示 102
7.1.2 使用int()來獲取數(shù)值輸入 103
7.1.3 求模運算符 104
7.2 while循環(huán)簡介 105
7.2.1 使用while循環(huán) 105
7.2.2 讓用戶選擇何時退出 106
7.2.3 使用標志 107
7.2.4 使用break退出循環(huán) 108
7.2.5 在循環(huán)中使用continue 109
7.2.6 避免無限循環(huán) 110
7.3 使用while循環(huán)處理列表和字典 111
7.3.1 在列表之間移動元素 111
7.3.2 刪除為特定值的所有列表元素 112
7.3.3 使用用戶輸入填充字典 113
7.4 小結(jié) 114
第8章 函數(shù) 115
8.1 定義函數(shù) 115
8.1.1 向函數(shù)傳遞信息 116
8.1.2 實參和形參 116
8.2 傳遞實參 117
8.2.1 位置實參 117
8.2.2 關(guān)鍵字實參 119
8.2.3 默認值 119
8.2.4 等效的函數(shù)調(diào)用 120
8.2.5 避免實參錯誤 121
8.3 返回值 122
8.3.1 返回簡單的值 122
8.3.2 讓實參變成可選的 123
8.3.3 返回字典 124
8.3.4 結(jié)合使用函數(shù)和while循環(huán) 125
8.4 傳遞列表 127
8.4.1 在函數(shù)中修改列表 128
8.4.2 禁止函數(shù)修改列表 130
8.5 傳遞任意數(shù)量的實參 131
8.5.1 結(jié)合使用位置實參和任意數(shù)量的實參 132
8.5.2 使用任意數(shù)量的關(guān)鍵字實參 133
8.6 將函數(shù)存儲在模塊中 134
8.6.1 導(dǎo)入整個模塊 134
8.6.2 導(dǎo)入特定的函數(shù) 135
8.6.3 使用as給函數(shù)指定別名 136
8.6.4 使用as給模塊指定別名 136
8.6.5 導(dǎo)入模塊中的所有函數(shù) 137
8.7 函數(shù)編寫指南 137
8.8 小結(jié) 139
第9章 類 140
9.1 創(chuàng)建和使用類 140
9.1.1 創(chuàng)建Dog類 141
9.1.2 根據(jù)類創(chuàng)建實例 142
9.2 使用類和實例 144
9.2.1 Car類 144
9.2.2 給屬性指定默認值 145
9.2.3 修改屬性的值 146
9.3 繼承 149
9.3.1 子類的__init__()方法 149
9.3.2 給子類定義屬性和方法 151
9.3.3 重寫父類中的方法 152
9.3.4 將實例用作屬性 152
9.3.5 模擬實物 154
9.4 導(dǎo)入類 155
9.4.1 導(dǎo)入單個類 155
9.4.2 在一個模塊中存儲多個類 157
9.4.3 從一個模塊中導(dǎo)入多個類 158
9.4.4 導(dǎo)入整個模塊 158
9.4.5 導(dǎo)入模塊中的所有類 159
9.4.6 在一個模塊中導(dǎo)入另一個模塊 159
9.4.7 使用別名 160
9.4.8 找到合適的工作流程 161
9.5 Python標準庫 161
9.6 類的編程風格 162
9.7 小結(jié) 163
第 10章 文件和異常 164
10.1 讀取文件 164
10.1.1 讀取文件的全部內(nèi)容 164
10.1.2 相對文件路徑和絕對文件路徑 166
10.1.3 訪問文件中的各行 167
10.1.4 使用文件的內(nèi)容 168
10.1.5 包含100萬位的大型文件 169
10.1.6 圓周率值中包含你的生日嗎 169
10.2 寫入文件 170
10.2.1 寫入一行 171
10.2.2 寫入多行 171
10.3 異常 172
10.3.1 處理ZeroDivisionError異常 172
10.3.2 使用try-except代碼塊 173
10.3.3 使用異常避免崩潰 173
10.3.4 else代碼塊 174
10.3.5 處理FileNotFoundError異常 175
10.3.6 分析文本 177
10.3.7 使用多個文件 177
10.3.8 靜默失敗 179
10.3.9 決定報告哪些錯誤 179
10.4 存儲數(shù)據(jù) 181
10.4.1 使用json.dumps()和json.loads() 181
10.4.2 保存和讀取用戶生成的數(shù)據(jù) 182
10.4.3 重構(gòu) 184
10.5 小結(jié) 186
第 11章 測試代碼 187
11.1 使用pip安裝pytest 187
11.1.1 更新pip 188
11.1.2 安裝pytest 188
11.2 測試函數(shù) 189
11.2.1 單元測試和測試用例 190
11.2.2 可通過的測試 190
11.2.3 運行測試 191
11.2.4 未通過的測試 191
11.2.5 在測試未通過時怎么辦 192
11.2.6 添加新測試 193
11.3 測試類 195
11.3.1 各種斷言 195
11.3.2 一個要測試的類 195
11.3.3 測試AnonymousSurvey類 197
11.3.4 使用夾具 198
11.4 小結(jié) 200
第二部分 項 目
項目1 外星人入侵 202
第 12章 武裝飛船 203
12.1 規(guī)劃項目 203
12.2 安裝Pygame 204
12.3 開始游戲項目 204
12.3.1 創(chuàng)建Pygame窗口及響應(yīng)用戶輸入 204
12.3.2 控制幀率 206
12.3.3 設(shè)置背景色 207
12.3.4 創(chuàng)建Settings類 207
12.4 添加飛船圖像 208
12.4.1 創(chuàng)建Ship類 209
12.4.2 在屏幕上繪制飛船 211
12.5 重構(gòu):_check_events()方法和_update_screen()方法 212
12.5.1 _check_events()方法 212
12.5.2 _update_screen()方法 213
12.6 駕駛飛船 214
12.6.1 響應(yīng)按鍵 214
12.6.2 允許持續(xù)移動 214
12.6.3 左右移動 216
12.6.4 調(diào)整飛船的速度 217
12.6.5 限制飛船的活動范圍 218
12.6.6 重構(gòu)_check_events() 219
12.6.7 按Q鍵退出 220
12.6.8 在全屏模式下運行游戲 220
12.7 簡單回顧 221
12.7.1 alien_invasion.py 221
12.7.2 settings.py 221
12.7.3 ship.py 221
12.8 射擊 222
12.8.1 添加子彈設(shè)置 222
12.8.2 創(chuàng)建Bullet類 222
12.8.3 將子彈存儲到編組中 223
12.8.4 開火 224
12.8.5 刪除已消失的子彈 226
12.8.6 限制子彈數(shù)量 226
12.8.7 創(chuàng)建_update_bullets()方法 227
12.9 小結(jié) 228
第 13章 外星人 229
13.1 項目回顧 229
13.2 創(chuàng)建第 一個外星人 230
13.2.1 創(chuàng)建Alien類 230
13.2.2 創(chuàng)建Alien實例 231
13.3 創(chuàng)建外星艦隊 232
13.3.1 創(chuàng)建一行外星人 232
13.3.2 重構(gòu)_create_fleet() 234
13.3.3 添加多行外星人 235
13.4 讓外星艦隊移動 237
13.4.1 向右移動外星艦隊 237
13.4.2 創(chuàng)建表示外星艦隊移動方向的設(shè)置 238
13.4.3 檢查外星人是否到達了屏幕邊緣 239
13.4.4 向下移動外星艦隊并改變移動方向 239
13.5 擊落外星人 240
13.5.1 檢測子彈和外星人的碰撞 240
13.5.2 為測試創(chuàng)建大子彈 242
13.5.3 生成新的外星艦隊 242
13.5.4 加快子彈的速度 243
13.5.5 重構(gòu)_update_bullets() 243
13.6 結(jié)束游戲 244
13.6.1 檢測外星人和飛船的碰撞 244
13.6.2 響應(yīng)外星人和飛船的碰撞 245
13.6.3 有外星人到達屏幕下邊緣 247
13.6.4 游戲結(jié)束 248
13.7 確定應(yīng)運行游戲的哪些部分 249
13.8 小結(jié) 249
第 14章 記分 250
14.1 添加Play按鈕 250
14.1.1 創(chuàng)建Button類 250
14.1.2 在屏幕上繪制按鈕 252
14.1.3 開始游戲 253
14.1.4 重置游戲 254
14.1.5 將Play按鈕切換到非活動狀態(tài) 254
14.1.6 隱藏光標 255
14.2 提高難度 256
14.2.1 修改速度設(shè)置 256
14.2.2 重置速度 258
14.3 記分 258
14.3.1 顯示得分 259
14.3.2 創(chuàng)建記分牌 260
14.3.3 在外星人被擊落時更新得分 261
14.3.4 重置得分 262
14.3.5 將每個被擊落的外星人都計入得分 262
14.3.6 提高分數(shù) 263
14.3.7 對得分進行舍入 264
14.3.8 最高分 265
14.3.9 顯示等級 267
14.3.10 顯示余下的飛船數(shù) 269
14.4 小結(jié) 272項目2 數(shù)據(jù)可視化 273
第 15章 生成數(shù)據(jù) 274
15.1 安裝Matplotlib 274
15.2 繪制簡單的折線圖 275
15.2.1 修改標簽文字和線條粗細 276
15.2.2 校正繪圖 277
15.2.3 使用內(nèi)置樣式 278
15.2.4 使用scatter()繪制散點圖并設(shè)置樣式 279
15.2.5 使用scatter()繪制一系列點 280
15.2.6 自動計算數(shù)據(jù) 281
15.2.7 定制刻度標記 282
15.2.8 定制顏色 282
15.2.9 使用顏色映射 283
15.2.10 自動保存繪圖 284
15.3 隨機游走 284
15.3.1 創(chuàng)建RandomWalk類 284
15.3.2 選擇方向 285
15.3.3 繪制隨機游走圖 286
15.3.4 模擬多次隨機游走 287
15.3.5 設(shè)置隨機游走圖的樣式 287
15.4 使用Plotly模擬擲骰子 292
15.4.1 安裝Plotly 292
15.4.2 創(chuàng)建Die類 292
15.4.3 擲骰子 293
15.4.4 分析結(jié)果 293
15.4.5 繪制直方圖 294
15.4.6 定制繪圖 295
15.4.7 同時擲兩個骰子 296
15.4.8 進一步定制 298
15.4.9 同時擲兩個面數(shù)不同的骰子 298
15.4.10 保存繪圖 299
15.5 小結(jié) 300
第 16章 下載數(shù)據(jù) 301
16.1 CSV文件格式 301
16.2 制作全球地震散點圖:GeoJSON格式 313
16.3 小結(jié) 325
第 17章 使用API 326
17.1 使用API 326
17.2 使用Plotly可視化倉庫 332
17.3 Hacker News API 338
17.4 小結(jié) 341項目3 Web應(yīng)用程序 342
第 18章 Django入門 343
18.1 建立項目 343
18.2 創(chuàng)建應(yīng)用程序 348
18.3 創(chuàng)建網(wǎng)頁:學習筆記主頁 357
18.4 創(chuàng)建其他網(wǎng)頁 361
18.5 小結(jié) 369
第 19章 用戶賬戶 370
19.1 讓用戶能夠輸入數(shù)據(jù) 370
19.2 創(chuàng)建用戶賬戶 381
19.3 讓用戶擁有自己的數(shù)據(jù) 389
19.4 小結(jié) 396
第 20章 設(shè)置應(yīng)用程序的樣式并部署 397
20.1 設(shè)置項目“學習筆記”的樣式 397
20.2 部署“學習筆記” 409
20.3 小結(jié) 425
附錄A 安裝及故障排除 426
附錄B 文本編輯器和IDE 430
附錄C 尋求幫助 436
附錄D 使用Git進行版本控制 440
附錄E 部署故障排除 449
Python編程從入門到實踐第3版(圖靈出品)是1970年由人民郵電出版社出版,作者[美]埃里克·馬瑟斯(EricMatthes)。
溫馨提示:
得書感謝您對《Python編程從入門到實踐第3版(圖靈出品)》關(guān)注和支持,如本書內(nèi)容有不良信息或侵權(quán)等情形的,請聯(lián)系本網(wǎng)站。