笨辦法學Python(原書第5版) Learn Python the Hard Way
[美] 澤德 A. 肖(Zed A. Shaw) 著 小甲魚 譯
- 出版商: 清華大學
- 出版日期: 2025-05-01
- 售價: $534
- 語言: 簡體中文
- ISBN: 7302686165
- ISBN-13: 9787302686163
- 此書翻譯自: Learn Python the Hard Way (Paperback)
下單後立即進貨 (約4週~6週)
相關主題
商品描述
"本書通過60個練習的例子幫助讀者學習如何使用python語言 在本書中,你將通過完成60個精心設計的習題來學會python語言。閱讀書裏的習題,看作者提供的視頻,照著錄入代碼(不要復制和粘貼!),修正自己的錯誤,觀察程序的運行。在這個過程中,你將會瞭解好的現代python代碼長什麼樣子,如何有效地思考代碼,如何更加有效地找出和修正錯誤。本書通過實用的項目,讓你學以致用,從而對自己新學會的技能更有信心。Zed將教會你編寫出色的代碼所需具備的諸多關鍵技能。 "
目錄大綱
目錄
習題0 蓄勢待發 1
通用指南 1
快速開始 1
完整指南 2
測試安裝 2
學習命令行 3
下一步 3
習題1 寫好第一個程序 4
運行結果 5
溫故知新 6
常見問題 6
藍色加號 7
習題2 註釋與#字符 8
運行結果 8
溫故知新 8
常見問題 9
習題3 數字與數學 10
運行結果 11
溫故知新 11
常見問題 11
習題4 變量與命名 13
運行結果 14
溫故知新 14
常見問題 14
習題5 更多的變量與打印 16
運行結果 17
溫故知新 17
常見問題 17
習題6 字符串與文本 18
運行結果 19
溫故知新 19
不破不立 19
常見問題 20
習題7 組合字符串 21
運行結果 21
溫故知新 22
不破不立 22
常見問題 22
習題8 手動格式化字符串 23
運行結果 23
溫故知新 24
常見問題 24
習題9 多行字符串 25
運行結果 25
溫故知新 26
常見問題 26
習題10 字符串中的轉義字符 27
運行結果 28
轉義序列 28
溫故知新 29
常見問題 29
習題11 向人提問 30
運行結果 30
溫故知新 31
常見問題 31
習題12 更簡單的提示方式 32
運行結果 32
溫故知新 32
常見問題 33
習題13 參數、解包、變量 34
如果你迷路了 35
代碼描述 35
等一下!“特性”還有另外一個名字 36
運行結果 36
溫故知新 37
常見問題 37
習題14 提示和傳遞 39
運行結果 40
溫故知新 40
常見問題 40
習題15 讀取文件 42
運行結果 43
溫故知新 43
常見問題 44
習題16 讀寫文件 45
運行結果 46
溫故知新 47
常見問題 47
習題17 更多文件操作 48
運行結果 49
溫故知新 49
常見問題 49
習題18 命名、變量、代碼、函數 51
練習代碼 52
運行結果 54
溫故知新 54
常見問題 55
習題19 函數和變量 56
運行結果 57
溫故知新 58
常見問題 58
習題20 函數和文件 59
運行結果 60
溫故知新 60
常見問題 61
習題21 函數可以返回某些內容 62
運行結果 63
溫故知新 63
常見問題 64
習題22 字符串、字節和字符編碼 65
初始研究 65
開關、約定和編碼 66
解析輸出 68
解析代碼 69
深度學習編碼 72
不破不立 72
習題23 列表入門 73
訪問列表中的元素 73
列表練習 74
代碼操作 74
挑戰 75
水果挑戰 75
汽車挑戰 75
語言挑戰 75
最終挑戰 76
習題24 字典入門 77
鍵/值結構 77
列表與數據對象的結合 78
代碼 79
運行結果 80
挑戰 80
水果挑戰 80
汽車挑戰 80
語言挑戰 81
最終挑戰 81
習題25 字典和函數 82
步驟1:函數名稱是變量 82
步驟2:帶變量的字典 82
步驟3:帶函數的字典 83
步驟4:解讀最後一行 83
溫故知新 84
習題26 字典和模塊 85
步驟1:import的回顧 85
步驟2:找到__dict__ 85
步驟3:更改__dict__ 86
溫故知新:如何查找“Dunders” 87
習題27 代碼遊戲的五條簡單規則 88
規則1:一切都是指令序列 88
如何獲取這些指令 89
這些字節碼存儲在哪裡 90
規則2:跳轉使序列非線性 90
為什麼是向後的 91
跳轉可以是向前的嗎 91
規則3:測試控制跳轉 91
你說的“彈出”是什麼意思 93
像COMPARE_OP這樣的測試
不也用在循環中嗎 93
規則4:存儲控制測試 93
規則5:輸入/輸出控制存儲 94
總結復習 95
字節碼列表 95
dis() 是副本任務 96
習題28 理解邏輯關系 97
邏輯術語 97
真值表 98
常見問題 100
習題29 布爾表達式練習 101
運行結果 102
溫故知新 102
常見問題 103
習題30 if是什麼 104
運行結果 104
使用 dis() 105
溫故知新 105
常見問題 105
習題31 else和if 106
運行結果 107
使用 dis() 107
溫故知新 108
常見問題 108
習題32 做出決策 109
運行結果 110
使用 dis() 110
溫故知新 111
常見問題 111
習題33 循環和列表 112
運行結果 113
使用 dis() 114
溫故知新 115
常見問題 115
習題34 while循環 116
運行結果 117
使用 dis() 117
溫故知新 118
常見問題 118
習題35 分支和函數 119
運行結果 121
溫故知新 121
常見問題 121
習題36 設計和調試 123
從想法到可工作的代碼 123
這個流程夠專業嗎 125
關於“X/Y”非問題 125
if語句的規則 126
循環的規則 127
調試的小技巧 127
家庭作業 127
習題37 符號復習 129
關鍵字 129
數據類型 130
字符串轉義序列 131
傳統字符串格式 131
運算符 132
閱讀代碼 133
溫故知新 134
常見問題 134
習題38 超越Windows的Jupyter 135
為什麼要學習 PowerShell 136
PowerShell是什麼 136
PowerShell對比Cmder 138
啟動Jupyter 138
獲取幫助 139
如何使用start命令 139
從圖形界面到PowerShell 139
你的工作目錄在哪裡 140
這裏有什麼? 140
文件、目錄和路徑 141
切換目錄 142
相對路徑 142
創建和銷毀 143
標誌和參數 143
復制和移動 144
環境變量 144
運行代碼 144
常用快捷鍵 145
有用的開發命令 145
遠不止於此 145
習題39 超越macOS/Linux的
Jupyter 146
macOS的問題 147
為什麼學習Bash或ZSH 147
Bash是什麼? 147
啟動Jupyter 149
獲取幫助 149
如何使用start命令 149
從圖形界面到Bash 150
你的工作目錄在哪裡 150
這裏有什麼? 151
文件、目錄和路徑 151
切換目錄 152
相對路徑 152
創建和銷毀 153
隱藏文件 153
標誌和參數 154
復制和移動 154
環境變量 155
運行代碼 155
常用快捷鍵 155
有用的開發命令 156
遠不止於此 157
習題40 高級開發者工具 158
管理Conda環境 158
添加conda-forge 158
使用pip 159
使用 .condarc 文件 160
通用編輯技巧 160
更進一步 161
習題41 項目骨架 162
激活環境 162
使用cookiecutter 162
構建項目 163
安裝項目 163
測試安裝 164
移除test-project 164
常見錯誤 165
溫故知新 165
習題42 列表操作 166
運行結果 167
列表作用 168
何時使用列表 169
溫故知新 169
常見問題 170
習題43 字典操作 171
字典示例 172
運行結果 174
字典的作用 175
溫故知新 175
常見問題 176
習題44 從字典到對象 177
步驟一:將字典傳遞給函數 177
運行結果 178
步驟二:將talk添加到字典中 178
步驟三:閉包 179
運行結果 180
步驟四:角色構造函數 181
溫故知新 182
習題45 基礎面向對象編程 183
創建Person對象 183
使用 dir() 與 __dict__ 184
關於點號操作符(.) 185
術語 186
關於self 187
溫故知新 188
常見問題 188
習題46 繼承與高級面向對象編程 189
如何寫成代碼 190
關於class Name(object) 192
溫故知新 192
常見問題 193
習題47 基礎的面向對象分析和設計 194
簡單遊戲引擎的分析 195
把問題寫下來或者畫出來 195
提取和研究關鍵概念 195
給各種概念創建類層次結構和對象圖 196
編寫類和運行類的測試代碼 197
重復和優化 199
自頂向下與自底向上 199
“來自Percal 25號行星的哥頓人”
的代碼 200
運行結果 207
溫故知新 207
常見問題 208
習題48 繼承與組合 209
繼承是什麼? 209
隱式繼承 210
顯式覆蓋 211
在運行前或運行後替換 211
將3種方式組合在一起使用 212
使用 super() 的原因 214
super() 和 __init__ 搭配使用 214
組合 215
繼承和組合的應用場景 216
溫故知新 217
常見問題 217
習題49 開發你的專屬遊戲 218
評估你的遊戲 218
函數風格指南 219
類風格指南 219
代碼風格指南 220
好的註釋 220
評估你的代碼 221
習題50 自動化測試 222
測試的目的是什麼 222
如何高效測試 222
安裝pytest 223
簡單的pytest案例 224
運行pytest 225
異常和try/except 225
獲取覆蓋率報告 226
溫故知新 227
常見問題 227
習題51 數據清洗 229
為什麼要進行數據清洗 230
問題描述 230
安裝 231
如何編寫代碼 231
流程示例 232
解決方案策略 234
強大的ETL工具 235
溫故知新 236
習題52 網絡爬蟲 237
引入with關鍵字 237
問題描述 238
安裝 238
線索 239
強大的抓取工具 239
溫故知新 240
習題53 從API獲取數據 241
介紹JSON 241
問題描述 242
安裝 243
線索 243
強大的API工具 244
溫故知新 244
習題54 使用pandas進行數據轉換 245
介紹Pandoc 245
問題描述 245
安裝 246
線索 246
溫故知新 247
習題55 如何閱讀文檔(以pandas
為例) 248
為什麼編程文檔都很糟糕 248
如何主動閱讀程序員文檔 249
第1步:找到文檔 249
pandas舉例 249
第2步:確定策略 250
pandas舉例 250
第3步:代碼第一,文檔第二 251
pandas舉例 251
第4步:破壞或修改代碼 252
第5步:記筆記 252
第6步:隨心所欲 252
pandas舉例 252
第7步:總結與表達 252
pandas舉例 253
第8步:什麼是整體感 253
pandas舉例 254
閱讀我的pandas課程 254
習題56 只使用pandas 255
創建項目 255
問題描述 255
安裝 255
溫故知新 256
習題57 快速入門SQL 257
SQL是什麼 257
安裝 258
修復和加載 259
備份數據庫 259
創建、讀取、更新、刪除 260
SELECT 260
日期和時間 261
INSERT 262
UPDATE 263
DELETE和事務 263
數學、聚合和GROUP BY 265
Python訪問 266
習題58 SQL規範化 267
什麼是規範化 267
第一範式(1NF) 268
實現第一範式(1NF) 269
在SQL中創建表 270
第二範式(2NF) 270
實現2NF 271
使用Python 273
查詢2NF數據 273
使用JOIN進行查詢 274
溫故知新 275
習題59 SQL查詢關系 277
一對多(1∶M) 277
Python中的一對多 277
一對多的問題 278
多對多(M∶M) 278
多對多的問題 279
一對一(1∶1) 279
屬性關系 280
查詢多對多表 280
最後的溫故知新 281
習題60 來自一位資深程序員的
建議 282