注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Python編程從入門到實(shí)踐第2版

Python編程從入門到實(shí)踐第2版

Python編程從入門到實(shí)踐第2版

定 價(jià):¥109.80

作 者: [美] 埃里克·馬瑟斯(EricMatthes) 著,袁國忠 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115546081 出版時(shí)間: 2021-06-01 包裝: 平裝
開本: 16開 頁數(shù): 445 字?jǐn)?shù):  

內(nèi)容簡介

  本書是針對所有層次Python讀者而作的Python入門書。全書分兩部分:部分介紹用Python編程所必須了解的基本概念,包括強(qiáng)大的Python庫和工具,以及列表、字典、if語句、類、文件與異常、代碼測試等內(nèi)容;第二部分將理論付諸實(shí)踐,講解如何開發(fā)三個(gè)項(xiàng)目,包括簡單的2D游戲、利用數(shù)據(jù)生成交互式的信息圖以及創(chuàng)建和定制簡單的Web應(yīng)用,并幫助讀者解決常見編程問題和困惑。第2版進(jìn)行了全面修訂,簡化了Python安裝流程,新增了f字符串、get()方法等內(nèi)容,并且在項(xiàng)目中使用了Plotly庫以及新版本的Django和Bootstrap,等等。

作者簡介

  埃里克·馬瑟斯(Eric Matthes) 高中科學(xué)和數(shù)學(xué)老師,現(xiàn)居住在阿拉斯加,在當(dāng)?shù)刂v授Python入門課程。他從5歲開始就一直在編寫程序。

圖書目錄

第 一部分 基礎(chǔ)知識(shí)
第 1章 起步 2
1.1 搭建編程環(huán)境 2
1.1.1 Python版本 2
1.1.2 運(yùn)行Python代碼片段 2
1.1.3 Sublime Text簡介 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)境 7
1.3 運(yùn)行Hello World 程序 8
1.3.1 配置Sublime Text以使用正確的Python版本 8
1.3.2 運(yùn)行程序hello_world.py 8
1.4 解決安裝問題 9
1.5 從終端運(yùn)行Python程序 9
1.5.1 在Windows系統(tǒng)中從終端運(yùn)行Python 程序 10
1.5.2 在Linux和macOS系統(tǒng)中從終端運(yùn)行Python程序 10
1.6 小結(jié) 11
第 2章 變量和簡單數(shù)據(jù)類型 12
2.1 運(yùn)行hello_world.py時(shí)發(fā)生的情況 12
2.2 變量 13
2.2.1 變量的命名和使用 13
2.2.2 使用變量時(shí)避免命名錯(cuò)誤 14
2.2.3 變量是標(biāo)簽 15
2.3 字符串 16
2.3.1 使用方法修改字符串的大小寫 17
2.3.3 使用制表符或換行符來添加空白 18
2.3.4 刪除空白 19
2.3.5 使用字符串時(shí)避免語法錯(cuò)誤 20
2.4 數(shù) 21
2.4.1 整數(shù) 22
2.4.2 浮點(diǎn)數(shù) 22
2.4.3 整數(shù)和浮點(diǎn)數(shù) 23
2.4.4 數(shù)中的下劃線 23
2.4.5 同時(shí)給多個(gè)變量賦值 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 訪問列表元素 29
3.1.2 索引從0而不是1開始 29
3.1.3 使用列表中的各個(gè)值 30
3.2 修改、添加和刪除元素 31
3.2.1 修改列表元素 31
3.2.2 在列表中添加元素 31
3.2.3 從列表中刪除元素 32
3.3 組織列表 36
3.3.1 使用方法sort()對列表永久排序 37
3.3.2 使用函數(shù)sorted()對列表臨時(shí)排序 37
3.3.3 倒著打印列表 38
3.3.4 確定列表的長度 38
3.4 使用列表時(shí)避免索引錯(cuò)誤 39
3.5 小結(jié) 41
第4章 操作列表 42
4.1 遍歷整個(gè)列表 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 避免縮進(jìn)錯(cuò)誤 45
4.2.1 忘記縮進(jìn) 46
4.2.2 忘記縮進(jìn)額外的代碼行 46
4.2.3 不必要的縮進(jìn) 47
4.2.4 循環(huán)后不必要的縮進(jìn) 47
4.2.5 遺漏了冒號 48
4.3 創(chuàng)建數(shù)值列表 49
4.3.1 使用函數(shù)range() 49
4.3.2 使用range()創(chuàng)建數(shù)字列表 50
4.3.3 對數(shù)字列表執(zhí)行簡單的統(tǒng)計(jì)計(jì)算 51
4.3.4 列表解析 52
4.4 使用列表的一部分 53
4.4.1 切片 53
4.4.2 遍歷切片 54
4.4.3 復(fù)制列表 55
4.5 元組 57
4.5.1 定義元組 57
4.5.2 遍歷元組中的所有值 58
4.5.3 修改元組變量 59
4.6 設(shè)置代碼格式 60
4.6.1 格式設(shè)置指南 60
4.6.2 縮進(jìn) 60
4.6.3 行長 60
4.6.4 空行 61
4.6.5 其他格式設(shè)置指南 61
4.7 小結(jié) 62
第5章 if語句 63
5.1 一個(gè)簡單示例 63
5.2 條件測試 64
5.2.1 檢查是否相等 64
5.2.2 檢查是否相等時(shí)忽略大小寫 64
5.2.3 檢查是否不相等 65
5.2.4 數(shù)值比較 66
5.2.5 檢查多個(gè)條件 66
5.2.6 檢查特定值是否包含在列表中 68
5.2.8 布爾表達(dá)式 68
5.3 if語句 69
5.3.1 簡單的if語句 69
5.3.2 if-else語句 70
5.3.3 if-elif-else結(jié)構(gòu) 71
5.3.4 使用多個(gè)elif代碼塊 72
5.3.5 省略else代碼塊 73
5.3.6 測試多個(gè)條件 73
5.4 使用if語句處理列表 76
5.4.1 檢查特殊元素 76
5.4.2 確定列表不是空的 77
5.4.3 使用多個(gè)列表 77
5.5 設(shè)置if語句的格式 79
5.6 小結(jié) 80
第6章 字典 81
6.1 一個(gè)簡單的字典 81
6.2 使用字典 82
6.2.1 訪問字典中的值 82
6.2.2 添加鍵值對 83
6.2.3 先創(chuàng)建一個(gè)空字典 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 在字典中存儲(chǔ)列表 97
6.4.3 在字典中存儲(chǔ)字典 98
6.5 小結(jié) 100
第7章 用戶輸入和while循環(huán) 101
7.1 函數(shù)input()的工作原理 101
7.1.1 編寫清晰的程序 102
7.1.2 使用int()來獲取數(shù)值輸入 102
7.1.3 求模運(yùn)算符 104
7.2 while循環(huán)簡介 105
7.2.1 使用while循環(huán) 105
7.2.2 讓用戶選擇何時(shí)退出 105
7.2.3 使用標(biāo)志 107
7.2.4 使用break退出循環(huán) 108
7.2.5 在循環(huán)中使用continue 109
7.2.6 避免無限循環(huán) 109
7.3 使用while循環(huán)處理列表和字典 111
7.3.1 在列表之間移動(dòng)元素 111
7.3.2 刪除為特定值的所有列表元素 112
7.3.3 使用用戶輸入來填充字典 112
7.4 小結(jié) 114
第8章 函數(shù) 115
8.1 定義函數(shù) 115
8.1.1 向函數(shù)傳遞信息 116
8.1.2 實(shí)參和形參 116
8.2 傳遞實(shí)參 117
8.2.1 位置實(shí)參 117
8.2.2 關(guān)鍵字實(shí)參 119
8.2.3 默認(rèn)值 119
8.2.4 等效的函數(shù)調(diào)用 120
8.2.5 避免實(shí)參錯(cuò)誤 121
8.3 返回值 122
8.3.1 返回簡單值 122
8.3.2 讓實(shí)參變成可選的 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ù)量的實(shí)參 131
8.5.1 結(jié)合使用位置實(shí)參和任意數(shù)量實(shí)參 132
8.5.2 使用任意數(shù)量的關(guān)鍵字實(shí)參 134
8.6.1 導(dǎo)入整個(gè)模塊 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é) 138
第9章 類 140
9.1 創(chuàng)建和使用類 140
9.1.1 創(chuàng)建Dog類 141
9.1.2 根據(jù)類創(chuàng)建實(shí)例 142
9.2 使用類和實(shí)例 144
9.2.1 Car類 145
9.2.2 給屬性指定默認(rèn)值 145
9.2.3 修改屬性的值 146
9.3 繼承 149
9.3.1 子類的方法__init__() 149
9.3.2 給子類定義屬性和方法 151
9.3.3 重寫父類的方法 152
9.3.4 將實(shí)例用作屬性 152
9.3.5 模擬實(shí)物 154
9.4 導(dǎo)入類 155
9.4.1 導(dǎo)入單個(gè)類 155
9.4.2 在一個(gè)模塊中存儲(chǔ)多個(gè)類 157
9.4.3 從一個(gè)模塊中導(dǎo)入多個(gè)類 158
9.4.4 導(dǎo)入整個(gè)模塊 158
9.4.5 導(dǎo)入模塊中的所有類 159
9.4.6 在一個(gè)模塊中導(dǎo)入另一個(gè)模塊 159
9.4.7 使用別名 160
9.4.8 自定義工作流程 160
9.5 Python標(biāo)準(zhǔn)庫 161
9.6 類編碼風(fēng)格 162
9.7 小結(jié) 163
第 10章 文件和異常 164
10.1 從文件中讀取數(shù)據(jù) 164
10.1.1 讀取整個(gè)文件 164
10.1.2 文件路徑 166
10.1.3 逐行讀取 167
10.1.4 創(chuàng)建一個(gè)包含文件各行內(nèi)容的列表 168
10.1.5 使用文件的內(nèi)容 168
10.1.6 包含一百萬位的大型文件 170
10.2 寫入文件 171
10.2.1 寫入空文件 171
10.2.2 寫入多行 172
10.2.3 附加到文件 173
10.3 異常 174
10.3.1 處理ZeroDivisionError異常 174
10.3.2 使用try-except 代碼塊 174
10.3.3 使用異常避免崩潰 175
10.3.4 else代碼塊 176
10.3.5 處理FileNotFoundError異常 177
10.3.6 分析文本 178
10.3.7 使用多個(gè)文件 179
10.3.8 靜默失敗 180
10.3.9 決定報(bào)告哪些錯(cuò)誤 181
10.4 存儲(chǔ)數(shù)據(jù) 182
10.4.1 使用json.dump()和json.load() 182
10.4.2 保存和讀取用戶生成的數(shù)據(jù) 183
10.4.3 重構(gòu) 185
10.5 小結(jié) 187
第 11章 測試代碼 188
11.1 測試函數(shù) 188
11.1.1 單元測試和測試用例 189
11.1.2 可通過的測試 189
11.1.3 未通過的測試 191
11.1.4 測試未通過時(shí)怎么辦 192
11.1.5 添加新測試 193
11.2 測試類 194
11.2.1 各種斷言方法 194
11.2.2 一個(gè)要測試的類 195
11.2.3 測試AnonymousSurvey類 197
11.2.4 方法setUp() 198
11.3 小結(jié) 200
第二部分 項(xiàng) 目
項(xiàng)目1 外星人入侵 202
第 12章 武裝飛船 203
12.1 規(guī)劃項(xiàng)目 203
12.2 安裝Pygame 204
12.3 開始游戲項(xiàng)目 204
12.3.1 創(chuàng)建Pygame窗口及響應(yīng)用戶輸入 204
12.3.2 設(shè)置背景色 206
12.3.3 創(chuàng)建設(shè)置類 207
12.4 添加飛船圖像 208
12.4.1 創(chuàng)建Ship類 209
12.4.2 在屏幕上繪制飛船 210
12.5 重構(gòu):方法_check_events()和__update_screen() 211
12.5.1 方法_check_events() 211
12.5.2 方法_update_screen() 212
12.6 駕駛飛船 213
12.6.1 響應(yīng)按鍵 213
12.6.2 允許持續(xù)移動(dòng) 214
12.6.3 左右移動(dòng) 215
12.6.4 調(diào)整飛船的速度 216
12.6.5 限制飛船的活動(dòng)范圍 218
12.6.6 重構(gòu)_check_events() 218
12.6.7 按Q鍵退出 219
12.6.8 在全屏模式下運(yùn)行游戲 219
12.7 簡單回顧 220
12.7.1 alien_invasion.py 220
12.7.2 settings.py 220
12.7.3 ship.py 220
12.8 射擊 221
12.8.1 添加子彈設(shè)置 221
12.8.2 創(chuàng)建Bullet類 221
12.8.3 將子彈存儲(chǔ)到編組中 223
12.8.4 開火 223
12.8.5 刪除消失的子彈 225
12.8.6 限制子彈數(shù)量 225
12.8.7 創(chuàng)建方法_update_bullets() 227
第 13章 外星人來了 228
13.1 項(xiàng)目回顧 228
13.2 創(chuàng)建第 一個(gè)外星人 229
13.2.1 創(chuàng)建Alien類 229
13.2.2 創(chuàng)建Alien實(shí)例 230
13.3 創(chuàng)建一群外星人 232
13.3.1 確定一行可容納多少個(gè)外星人 232
13.3.2 創(chuàng)建一行外星人 232
13.3.3 重構(gòu)_create_fleet() 234
13.3.4 添加行 234
13.4 讓外星人群移動(dòng) 237
13.4.1 向右移動(dòng)外星人群 237
13.4.2 創(chuàng)建表示外星人移動(dòng)方向的設(shè)置 238
13.4.3 檢查外星人是否撞到了屏幕邊緣 238
13.4.4 向下移動(dòng)外星人群并改變移動(dòng)方向 239
13.5 射殺外星人 240
13.5.1 檢測子彈與外星人的碰撞 241
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 有外星人到達(dá)屏幕底端 247
13.6.4 游戲結(jié)束 248
13.7 確定應(yīng)運(yùn)行游戲的哪些部分 248
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按鈕切換到非活動(dòng)狀態(tài) 254
14.1.6 隱藏鼠標(biāo)光標(biāo) 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 在外星人被消滅時(shí)更新得分 261
14.3.4 重置得分 262
14.3.5 將消滅的每個(gè)外星人都計(jì)入得分 262
14.3.6 提高分?jǐn)?shù) 263
14.3.7 舍入得分 264
14.3.8 得分 265
14.3.9 顯示等級 267
14.3.10 顯示余下的飛船數(shù) 269
14.4 小結(jié) 272
項(xiàng)目2 數(shù)據(jù)可視化 273
第 15章 生成數(shù)據(jù) 274
15.1 安裝Matplotlib 274
15.2 繪制簡單的折線圖 275
15.2.1 修改標(biāo)簽文字和線條粗細(xì) 277
15.2.3 使用內(nèi)置樣式 278
15.2.4 使用scatter()繪制散點(diǎn)圖并設(shè)置樣式 279
15.2.5 使用scatter()繪制一系列點(diǎn) 280
15.2.6 自動(dòng)計(jì)算數(shù)據(jù) 281
15.2.7 自定義顏色 282
15.2.8 使用顏色映射 283
15.2.9 自動(dòng)保存圖表 284
15.3 隨機(jī)漫步 284
15.3.1 創(chuàng)建RandomWalk類 284
15.3.2 選擇方向 285
15.3.3 繪制隨機(jī)漫步圖 286
15.3.4 模擬多次隨機(jī)漫步 287
15.3.5 設(shè)置隨機(jī)漫步圖的樣式 288
15.4 使用Plotly模擬擲骰子 292
15.4.1 安裝Plotly 292
15.4.2 創(chuàng)建Die類 293
15.4.3 擲骰子 293
15.4.4 分析結(jié)果 294
15.4.5 繪制直方圖 294
15.4.6 同時(shí)擲兩個(gè)骰子 296
15.4.7 同時(shí)擲兩個(gè)面數(shù)不同的骰子 298
15.5 小結(jié) 300
第 16章 下載數(shù)據(jù) 301
16.1 CSV文件格式 301
16.1.1 分析CSV文件頭 302
16.1.2 打印文件頭及其位置 302
16.1.3 提取并讀取數(shù)據(jù) 303
16.1.4 繪制溫度圖表 304
16.1.5 模塊datetime 305
16.1.6 在圖表中添加日期 306
16.1.7 涵蓋更長的時(shí)間 307
16.1.8 再繪制一個(gè)數(shù)據(jù)系列 308
16.1.9 給圖表區(qū)域著色 309
16.1.10 錯(cuò)誤檢查 310
16.1.11 自己動(dòng)手下載數(shù)據(jù) 313
16.2 制作全球地震散點(diǎn)圖:JSON格式 315
16.2.2 查看JSON數(shù)據(jù) 315
16.2.3 創(chuàng)建地震列表 317
16.2.4 提取震級 317
16.2.5 提取位置數(shù)據(jù) 318
16.2.6 繪制震級散點(diǎn)圖 319
16.2.7 另一種指定圖表數(shù)據(jù)的方式 320
16.2.8 定制標(biāo)記的尺寸 321
16.2.9 定制標(biāo)記的顏色 322
16.2.10 其他漸變 323
16.2.11 添加鼠標(biāo)指向時(shí)顯示的文本 324
16.3 小結(jié) 325
第 17章 使用API 326
17.1 使用Web API 326
17.1.1 Git 和GitHub 326
17.1.2 使用API調(diào)用請求數(shù)據(jù) 327
17.1.3 安裝Requests 327
17.1.4 處理API響應(yīng) 328
17.1.5 處理響應(yīng)字典 329
17.1.6 概述受歡迎的倉庫 331
17.1.7 監(jiān)視API的速率限制 332
17.2 使用Plotly可視化倉庫 332
17.2.1 改進(jìn)Plotly圖表 334
17.2.2 添加自定義工具提示 336
17.2.3 在圖表中添加可單擊的鏈接 337
17.2.4 深入了解Plotly和GitHub API 338
17.3 Hacker News API 338
17.4 小結(jié) 341
項(xiàng)目3 Web 應(yīng)用程序 342
第 18章 從Django 入手 343
18.1 建立項(xiàng)目 343
18.1.1 制定規(guī)范 343
18.1.2 建立虛擬環(huán)境 344
18.1.3 激活虛擬環(huán)境 344
18.1.4 安裝Django 345
18.1.5 在Django中創(chuàng)建項(xiàng)目 345
18.1.6 創(chuàng)建數(shù)據(jù)庫 346
18.1.7 查看項(xiàng)目 346
18.2 創(chuàng)建應(yīng)用程序 348
18.2.1 定義模型 348
18.2.2 激活模型 349
18.2.3 Django管理網(wǎng)站 351
18.2.4 定義模型Entry 353
18.2.5 遷移模型Entry 354
18.2.6 向管理網(wǎng)站注冊Entry 354
18.2.7 Django shell 355
18.3 創(chuàng)建頁面:學(xué)習(xí)筆記主頁 357
18.3.1 映射URL 358
18.3.2 編寫視圖 359
18.3.3 編寫模板 360
18.4 創(chuàng)建其他頁面 361
18.4.1 模板繼承 361
18.4.2 顯示所有主題的頁面 363
18.4.3 顯示特定主題的頁面 366
18.5 小結(jié) 369
第 19章 用戶賬戶 370
19.1 讓用戶輸入數(shù)據(jù) 370
19.1.1 添加新主題 370
19.1.2 添加新條目 374
19.1.3 編輯條目 378
19.2 創(chuàng)建用戶賬戶 381
19.2.1 應(yīng)用程序users 381
19.2.2 將users添加到settings.py 中 381
19.2.3 包含users的URL 382
19.2.4 登錄頁面 382
19.2.5 注銷 384
19.2.6 注冊頁面 386
19.3 讓用戶擁有自己的數(shù)據(jù) 388
19.3.1 使用@login_required限制訪問 388
19.3.2 將數(shù)據(jù)關(guān)聯(lián)到用戶 390
19.3.3 只允許用戶訪問自己的主題 393
19.3.4 保護(hù)用戶的主題 393
19.3.5 保護(hù)頁面edit_entry 394
19.3.6 將新主題關(guān)聯(lián)到當(dāng)前用戶 396
第 20章 設(shè)置應(yīng)用程序的樣式并部署 397
20.1.1 應(yīng)用程序django-bootstrap4 398
20.1.3 修改base.html 399
20.1.4 使用jumbotron設(shè)置主頁的樣式 403
20.1.5 設(shè)置登錄頁面的樣式 404
20.1.6 設(shè)置顯示所有主題的頁面的樣式 405
20.1.7 設(shè)置顯示單個(gè)主題的頁面中的條目樣式 406
20.2 部署“學(xué)習(xí)筆記” 407
20.2.1 建立Heroku賬戶 408
20.2.2 安裝Heroku CLI 408
20.2.3 安裝必要的包 408
20.2.4 創(chuàng)建文件requirements.txt 409
20.2.6 為部署到Heroku而修改settings.py 410
20.2.7 創(chuàng)建啟動(dòng)進(jìn)程的Procfile 410
20.2.8 使用Git 跟蹤項(xiàng)目文件 410
20.2.9 推送到Heroku 412
20.2.10 在Heroku上建立數(shù)據(jù)庫 414
20.2.12 確保項(xiàng)目的安全 416
20.2.13 提交并推送修改 416
20.2.14 在Heroku 上設(shè)置環(huán)境變量 417
20.2.15 創(chuàng)建自定義錯(cuò)誤頁面 418
20.2.16 繼續(xù)開發(fā) 420
20.2.17 設(shè)置SECRET_KEY 421
20.2.18 將項(xiàng)目從Heroku刪除 421
20.3 小結(jié) 422
附錄A 安裝與故障排除 423
附錄B 文本編輯器與IDE 428
附錄C 尋求幫助 432
附錄D 使用Git 進(jìn)行版本控制 436
后記 445

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號