Python編程無師自通 專業(yè)程序員的養(yǎng)成
定 價:59 元
- 作者:[美]科里·奧爾索夫(Cory Althoff)
- 出版時間:2019/1/1
- ISBN:9787115497109
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:242
- 紙張:
- 版次:01
- 開本:16開
本書作者是一名自學(xué)成才的程序員,經(jīng)過一年的自學(xué),掌握了編程技能并在eBay找到了一份軟件工程師的工作。本書是作者結(jié)合個人經(jīng)驗寫作而成,旨在幫助讀者從外行成長為一名專業(yè)的Python程序員。
本書包括5部分內(nèi)容:第一部分(第1~11章)介紹了編程基礎(chǔ)知識,以及函數(shù)、容器、字符串、循環(huán)和模型等概念;第二部分(第12~15章)介紹了編程范式和面向?qū)ο缶幊痰戎R;第三部分(第16~20章)介紹了Bash、正則表達式、包管理器和版本控制等編程工具方面的知識;第四部分(第21~22章)主要涉及數(shù)據(jù)結(jié)構(gòu)和算法方面的知識;第五部分(第23~27章)則是關(guān)于求職與團隊協(xié)作的內(nèi)容。
本書可以滿足幾乎所有想要學(xué)習(xí)編程的初學(xué)者。本書適合高中、大學(xué)階段想要自學(xué)編程的學(xué)生,以及其他行業(yè)想入門編程的人,同時也適合作為編程入門的培訓(xùn)教材。
暢銷Python編程類入門書,美國亞馬遜Kindle編程類排行榜榜一。
作者從文科畢業(yè),通過自學(xué)編程轉(zhuǎn)行為專業(yè)程序員,在硅谷工作多年后成功技術(shù)創(chuàng)業(yè)。本書不僅教讀者如何使用Python語言編程,還會介紹其他書中所忽略的、編程初學(xué)者應(yīng)該了解并掌握的其他所有知識點。
很多初學(xué)者在讀完其他類似的編程入門圖書后,仍會很困惑:下一步該做什么?而本書,就是作者結(jié)合自身成功經(jīng)驗給出的答案。
本書每章采用“要點介紹+示例代碼+術(shù)語總結(jié)+挑戰(zhàn)練習(xí)”的模式,細化介紹編程入門所需的各個知識點。本書中一章所涵蓋的許多主題可能都可以獨立成書。但作者的目標并不是要讀者了解到每個主題的所有細節(jié),而是提供一份指引,一個編程職業(yè)發(fā)展所需要的所有技能的導(dǎo)覽。
第一部分:編程概述。讓你盡快寫出自己的第一個程序,最好在今天。
第二部分:面向?qū)ο缶幊谈攀。將介紹不同的編程范式,著重闡述面向?qū)ο缶幊。你會開發(fā)一個游戲,體會編程的強大能力。讀完這部分后你會沉迷于編程。
第三部分:編程工具概述。將介紹提升編程生產(chǎn)力的不同工具。這時,你已經(jīng)沉迷于編程,并希望變得更好。你將會學(xué)習(xí)有關(guān)操作系統(tǒng)、如何使用正則表達式提升效率、如何安裝并管理他人的程序,以及如何使用版本控制與其他工程師協(xié)作。
第四部分:計算機科學(xué)概述。將簡要介紹計算機科學(xué)知識,主要涵蓋兩個主題—算法和數(shù)據(jù)結(jié)構(gòu)。
第五部分:成功入職。最后一部分是關(guān)于最佳編程實踐,如何找到軟件工程師的工作,團隊協(xié)作以及程序員的自我提升。我會分享如何通過技術(shù)面試與團隊協(xié)作的建議,以及如何進一步提升自己的技能。
不管你從事什么工作,編程都有助于你的職業(yè)發(fā)展。學(xué)習(xí)編程將給你自己賦能。如果你之前沒有任何編程經(jīng)驗,擔心自己無法勝任編程工作,本書想告訴你的是:你完全有能力做到。人們對程序員有一些常見的誤解,比如程序員都得擅長數(shù)學(xué)。這是錯誤的印象,不過編程確實是一件困難的工作。幸運的是,本書涵蓋的內(nèi)容將讓這一切變得比你想象的更加容易。
科里(Cory Althoff)在大學(xué)主修政治學(xué)畢業(yè)后,通過自學(xué)編程知識順利進入eBay,開啟了其軟件工程師的生涯。隨后他在硅谷工作多年,現(xiàn)已利用技術(shù)開始了自主創(chuàng)業(yè)。本書是作者根據(jù)個人成功經(jīng)驗所作,專為所有想要自學(xué)編程的初學(xué)者準備;即便讀者并不想成為一名專業(yè)的軟件工程師,本書也會幫助每個人在其所屬的行業(yè)中運用編程技能來提升工作能力,提高工作效率。
第 一部分 編程簡介
第 1章 概述 3
1.1 本書的結(jié)構(gòu) 4
1.2 從終點出發(fā) 4
1.3 你不是一個人在戰(zhàn)斗 5
1.4 自學(xué)的優(yōu)勢 5
1.5 為什么應(yīng)該編程 5
1.6 堅持不懈 6
1.7 本書的格式 6
1.8 本書使用的技術(shù) 6
1.9 術(shù)語表 7
1.10 挑戰(zhàn)練習(xí) 7
第 2章 起步 9
2.1 什么是編程 9
2.2 什么是Python 10
2.3 安裝Python 10
2.4 問題解答 11
2.5 交互式shell 11
2.6 保存程序 12
2.7 運行示例程序 12
2.8 術(shù)語表 13
2.9 挑戰(zhàn)練習(xí) 13
第3章 編程概論 15
3.1 示例 15
3.2 注釋 16
3.3 打印 17
3.4 代碼行 17
3.5 關(guān)鍵字 18
3.6 間距 18
3.7 數(shù)據(jù)類型 19
3.8 常量和變量 21
3.9 語法 24
3.10 錯誤與異常 25
3.11 算術(shù)操作符 26
3.12 比較操作符 29
3.13 邏輯操作符 31
3.14 條件語句 34
3.15 語句 38
3.16 術(shù)語表 40
3.17 挑戰(zhàn)練習(xí) 42
第4章 函數(shù) 43
4.1 表達概念 43
4.2 函數(shù) 44
4.3 定義函數(shù) 44
4.4 內(nèi)置函數(shù) 47
4.5 復(fù)用函數(shù) 49
4.6 必選及可選參數(shù) 51
4.7 作用域 52
4.8 異常處理 55
4.9 文檔字符串 58
4.10 有需要才使用變量 58
4.11 術(shù)語表 59
4.12 挑戰(zhàn)練習(xí) 59
第5章 容器 61
5.1 方法 61
5.2 列表 62
5.3 元組 66
5.4 字典 69
5.5 容器嵌套容器 72
5.6 術(shù)語表 76
5.7 挑戰(zhàn)練習(xí) 76
第6章 字符串操作 77
6.1 三引號字符串 77
6.2 索引 77
6.3 字符串是不可變的 79
6.4 字符串拼接 79
6.5 字符串乘法 80
6.6 改變大小寫 80
6.7 格式化 80
6.8 分割 82
6.9 連接 82
6.10 去除空格 83
6.11 替換 84
6.12 查找索引 84
6.13 in關(guān)鍵字 85
6.14 字符串轉(zhuǎn)義 85
6.15 換行符 86
6.16 切片 87
6.17 術(shù)語表 88
6.18 挑戰(zhàn)練習(xí) 89
第7章 循環(huán) 91
7.1 for循環(huán) 91
7.2 range函數(shù) 95
7.3 while循環(huán) 95
7.4 break語句 96
7.5 continue語句 98
7.6 嵌套循環(huán) 99
7.7 術(shù)語表 100
7.8 挑戰(zhàn)練習(xí) 101
第8章 模塊 103
8.1 導(dǎo)入內(nèi)置模塊 103
8.2 導(dǎo)入其他模塊 105
8.3 術(shù)語表 107
8.4 挑戰(zhàn)練習(xí) 107
第9章 文件 109
9.1 寫文件操作 109
9.2 自動關(guān)閉文件 110
9.3 讀取文件 111
9.4 CSV文件 112
9.5 術(shù)語表 114
9.6 挑戰(zhàn)練習(xí) 114
第 10章 綜合練習(xí) 115
10.1 Hangman 116
10.2 挑戰(zhàn)練習(xí) 119
第 11章 練習(xí) 121
11.1 閱讀 121
11.2 其他資源 121
11.3 尋求幫助 121
第二部分 面對對象編程簡介
第 12章 編程范式 125
12.1 狀態(tài) 125
12.2 過程式編程 125
12.3 函數(shù)式編程 127
12.4 面向?qū)ο缶幊?128
12.5 術(shù)語表 133
12.6 挑戰(zhàn)練習(xí) 134
第 13章 面向?qū)ο缶幊痰?四大支柱 135
13.1 封裝 135
13.2 抽象 138
13.3 多態(tài) 138
13.4 繼承 140
13.5 組合 143
13.6 術(shù)語表 144
13.7 挑戰(zhàn)練習(xí) 144
第 14章 深入面向?qū)ο缶幊?145
14.1 類變量與實例變量 145
14.2 魔法方法 147
14.3 is 149
14.4 術(shù)語表 150
14.5 挑戰(zhàn)練習(xí) 150
第 15章 綜合練習(xí) 151
15.1 卡牌 151
15.2 牌堆 153
15.3 玩家 154
15.4 游戲 155
15.5 戰(zhàn)爭 157
第三部分 編程工具簡介
第 16章 Bash 163
16.1 跟隨練習(xí) 163
16.2 找到Bash 164
16.3 命令 164
16.4 最近命令 165
16.5 相對路徑與絕對路徑 165
16.6 導(dǎo)航 166
16.7 旗標 168
16.8 隱藏文件 169
16.9 管道 169
16.10 環(huán)境變量 169
16.11 用戶 170
16.12 了解更多 171
16.13 術(shù)語表 171
16.14 挑戰(zhàn)練習(xí) 172
第 17章 正則表達式 173
17.1 初始配置 173
17.2 簡單匹配 174
17.3 匹配起始位置 176
17.4 匹配多個字符 177
17.5 匹配數(shù)字 178
17.6 重復(fù) 179
17.7 轉(zhuǎn)義 181
17.8 正則工具 182
17.9 術(shù)語表 182
17.10 挑戰(zhàn)練習(xí) 183
第 18章 包管理器 185
18.1 包 185
18.2 pip 185
18.3 虛擬環(huán)境 188
18.4 術(shù)語表 188
18.5 挑戰(zhàn)練習(xí) 188
第 19章 版本控制 189
19.1 代碼倉庫 189
19.2 入門 190
19.3 推送和拉取 191
19.4 推送示例 192
19.5 拉取示例 195
19.6 回退版本 195
19.7 diff 196
19.8 下一步 197
19.9 術(shù)語表 197
19.10 挑戰(zhàn)練習(xí) 198
第 20章 融會貫通 199
20.1 HTML 199
20.2 爬取Google新聞 200
20.3 術(shù)語表 204
20.4 挑戰(zhàn)練習(xí) 204
第四部分 計算機科學(xué)簡介
第 21章 數(shù)據(jù)結(jié)構(gòu) 207
21.1 數(shù)據(jù)結(jié)構(gòu) 207
21.2 棧 207
21.3 使用棧逆轉(zhuǎn)字符串 210
21.4 隊列 211
21.5 購票隊列 213
21.6 術(shù)語表 215
21.7 挑戰(zhàn)練習(xí) 216
第 22章 算法 217
22.1 FizzBuzz 217
22.2 順序搜索 218
22.3 回文詞 219
22.4 變位詞 220
22.5 計算字母頻數(shù) 220
22.6 遞歸 221
22.7 術(shù)語表 223
22.8 挑戰(zhàn)練習(xí) 224
第五部分 找到工作
第 23章 最佳編程實踐 227
23.1 寫代碼是最后的手段 227
23.2 DRY 227
23.3 正交性 227
23.4 每個數(shù)據(jù)都只應(yīng)保存在
一處 228
23.5 函數(shù)只做一件事 228
23.6 若耗費時間過長,你的做法
很可能就是錯的 228
23.7 第 一次就要用最佳的方法
完成 228
23.8 遵循慣例 229
23.9 使用強大的IDE 229
23.10 記錄日志 230
23.11 測試 230
23.12 代碼審查 230
23.13 安全 231
23.14 術(shù)語表 232
第 24章 第 一份編程工作 233
24.1 選擇方向 233
24.2 積累初期經(jīng)驗 234
24.3 拿到面試機會 234
24.4 面試 234
24.5 面試技巧 235
第 25章 團隊協(xié)作 237
25.1 掌握基礎(chǔ) 237
25.2 提問前請先搜索 237
25.3 修改代碼 238
25.4 冒名頂替綜合征 238
第 26章 更多學(xué)習(xí)資料 239
26.1 經(jīng)典書籍 239
26.2 在線課堂 239
26.3 駭客新聞 240
第 27章 下一步 241
27.1 找到導(dǎo)師 241
27.2 加深理解 241
27.3 其他建議 242