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