Python是一種程序設(shè)計(jì)語(yǔ)言,近年來,它得到了越來越多的技術(shù)人士的認(rèn)可和追捧。其應(yīng)用領(lǐng)域也非常廣泛,涉及數(shù)據(jù)分析、自然語(yǔ)言處理、機(jī)器學(xué)習(xí)、科學(xué)計(jì)算、推薦系統(tǒng)構(gòu)建等各個(gè)方面,提供了高效、靈活的編程體驗(yàn)。
本書面向 Python初學(xué)者,幫助讀者快速、有效地把握 Python編程的技巧。全書共分 5個(gè)部分,由淺入深地向讀者呈現(xiàn)了 Python必學(xué)的各大知識(shí)要點(diǎn)。無論是簡(jiǎn)單的 Python安裝,還是基本的編程語(yǔ)法,抑或是典型的問題處理,本書都給出了詳細(xì)、直觀的編程示例,以便讀者能夠精準(zhǔn)把握要點(diǎn)。
“達(dá)人迷”是暢銷美國(guó)近30年的經(jīng)典,經(jīng)過億萬讀者的檢驗(yàn)。
本書面向零基礎(chǔ)讀者,巧用類比式描述,技術(shù)知識(shí)點(diǎn)輕松掌握;
基于案例進(jìn)行講解,讀者可輕松理解編程思維,并在配套代碼中參透Python編程的技巧。
本書囊括5項(xiàng)常見任務(wù),助力快速掌握Python。除此之外,書中還有一系列的Python周邊小知識(shí),教你更好地掌握Python,活學(xué)活用Python。
約翰·保羅·穆勒(John Paul Mueller是一位自由作家兼技術(shù)編輯。他是一位高產(chǎn)作家,至今已經(jīng)創(chuàng)作了100多本圖書,撰寫了600多篇文章,涉及的主題十分廣泛,從網(wǎng)絡(luò)到人工智能,從數(shù)據(jù)庫(kù)管理再到程序編寫。他還從事各種技術(shù)咨詢,編寫認(rèn)證考試內(nèi)容。
第 1部分 Python預(yù)備知識(shí) 1
第 1章 與計(jì)算機(jī)交流 3
1.1 理解我們?yōu)楹我c計(jì)算機(jī)進(jìn)行交談 3
1.2 應(yīng)用程序就是我們與計(jì)算機(jī)交流的形式 4
1.2.1 想想你的日常生活步驟 5
1.2.2 寫下步驟 5
1.2.3 應(yīng)用程序是一系列步驟的集合 6
1.2.4 計(jì)算機(jī)只是機(jī)械地執(zhí)行程序步驟 6
1.3 應(yīng)用程序是什么 6
1.3.1 計(jì)算機(jī)使用某種特殊語(yǔ)言 7
1.3.2 幫助人類和計(jì)算機(jī)交流 7
1.4 為何 Python這么酷 8
1.4.1 選用 Python的理由 9
1.4.2 確定如何從 Python獲益 10
1.4.3 有哪些組織使用 Python 11
1.4.4 有用的 Python應(yīng)用程序 11
1.4.5 Python與其他語(yǔ)言比較 12
第 2章 下載并安裝 Python 14
2.1 下載合適的 Python版本 14
2.2 安裝 Python17
2.2.1 在 Windows平臺(tái)上安裝 Python 17
2.2.2 在 Mac平臺(tái)下安裝 Python 19
2.2.3 在 Linux下安裝 Python 20
2.3 訪問安裝好的 Python22
2.3.1 在 Windows平臺(tái)下訪問 Python 23
2.3.2 在 Mac平臺(tái)下訪問 Python 25
2.3.3 在 Linux系統(tǒng)下訪問 Python 26
2.4 測(cè)試安裝是否成功 26
第 3章 與 Python交互 28
3.1 打開命令行 28
3.1.1 啟動(dòng) Python命令行 29
3.1.2 使用命令行 30
3.1.3 使用 Python環(huán)境變量 32
3.2 輸入命令 33
3.2.1 告訴計(jì)算機(jī)做什么 34
3.2.2 告訴計(jì)算機(jī)你做完了 34
3.2.3 查看結(jié)果 34
3.3 使用幫助 36
3.3.1 進(jìn)入幫助模式 36
3.3.2 獲取幫助 37
3.3.3 退出幫助模式 39
3.3.4 直接獲取幫助 39
3.4 關(guān)閉命令行 41
第 4章 編寫你的第 一個(gè)應(yīng)用程序 43
4.1 為何 IDE如此重要 44
4.1.1 編寫出質(zhì)量更高的代碼 44
4.1.2 調(diào)試功能 44
4.1.3 為什么 Notebook有用 45
4.2 下載 Anaconda 45
4.2.1 下載 Anaconda 45
4.2.2 在 Linux下安裝 Anaconda 46
4.2.3 在 Mac OS下安裝 Anaconda 47
4.2.4 在 Windows下安裝 Anaconda 48
4.3 下載數(shù)據(jù)集和示例代碼 51
4.3.1 使用 Jupyter Notebook 51
4.3.2 定義代碼倉(cāng)庫(kù) 52
4.4 創(chuàng)建應(yīng)用程序 57
4.4.1 理解單元格 57
4.4.2 添加文檔單元格 58
4.4.3 其他單元格內(nèi)容 60
4.5 了解縮進(jìn)的用法 60
4.6 添加注釋 61
4.6.1 理解注釋 62
4.6.2 使用注釋提醒自己 63
4.6.3 使用注釋阻止代碼運(yùn)行 63
4.7 關(guān)閉 Jupyter Notebook 64
第 5章 使用 Anaconda 65
5.1 下載代碼 66
5.2 使用記錄點(diǎn) 67
5.2.1 了解記錄點(diǎn)的用法 67
5.2.2 保存記錄點(diǎn) 68
5.2.3 恢復(fù)記錄點(diǎn) 68
5.3 使用單元格 68
5.3.1 添加不同類型的單元格 68
5.3.2 拆分與合并單元格 69
5.3.3 移動(dòng)單元格 69
5.3.4 運(yùn)行單元格 70
5.3.5 隱藏 /顯示輸出 71
5.4 更改 Jupyter Notebook外觀 71
5.4.1 使用命令面板查找命令 72
5.4.2 使用行號(hào) 73
5.4.3 使用單元格工具條功能 73
5.5 與內(nèi)核交互 75
5.6 獲取幫助 76
5.7 使用魔術(shù)函數(shù) 77
5.8 查看正在運(yùn)行的進(jìn)程 79
第 2部分 步入正題 81
第 6章 存儲(chǔ)和更改信息 83
6.1 存儲(chǔ)信息 83
6.1.1 變量是存儲(chǔ)信息的箱子 84
6.1.2 使用正確的箱子存儲(chǔ)數(shù)據(jù) 84
6.2 Python基本數(shù)據(jù)類型84
6.2.1 把信息放入變量中 85
6.2.2 認(rèn)識(shí)數(shù)值類型 85
6.2.3 布爾值 89
6.2.4 字符串 89
6.3 日期和時(shí)間 90
第 7章 管理信息 92
7.1 控制 Python看待數(shù)據(jù)的方式 93
7.1.1 做比較 93
7.1.2 了解計(jì)算機(jī)如何做比較 93
7.2 運(yùn)算符 94
7.2.1 運(yùn)算符分類 94
7.2.2 運(yùn)算符優(yōu)先級(jí) 100
7.3 編寫和使用函數(shù) 100
7.3.1 函數(shù)就是代碼包 101
7.3.2 代碼的可重用性 101
7.3.3 定義函數(shù) 102
7.3.4 調(diào)用函數(shù) 103
7.3.5 向函數(shù)發(fā)送信息 103
7.3.6 從函數(shù)返回信息 107
7.3.7 比較函數(shù)輸出 108
7.4 獲取用戶輸入 108
第 8章 做決策 110
8.1 使用 if語(yǔ)句做簡(jiǎn)單決策 110
8.1.1 if語(yǔ)句 111
8.1.2 在應(yīng)用程序中使用 if語(yǔ)句 111
8.2 使用 if...else語(yǔ)句選擇替代方案
8.2.1 理解 if...esle語(yǔ)句 115
8.2.2 在程序中使用 if...else語(yǔ)句 115
8.2.3 在程序中使用 if...elif語(yǔ)句 116
8.3 使用 if嵌套語(yǔ)句 119
8.3.1 使用多個(gè) if或 if...else語(yǔ)句 119
8.3.2 綜合使用各種 if語(yǔ)句 120
第 9章 做重復(fù)性工作 123
9.1 使用 for語(yǔ)句處理數(shù)據(jù) 124
9.1.1 理解 for語(yǔ)句 124
9.1.2 編寫一個(gè)基本循環(huán) 124
9.1.3 使用 break語(yǔ)句跳出循環(huán)
9.1.4 使用 continue語(yǔ)句進(jìn)入下一輪循環(huán) 127
9.1.5 使用 pass子句 128
9.1.6 在循環(huán)中使用 else語(yǔ)句 129
9.2 使用 while語(yǔ)句處理數(shù)據(jù)
9.2.1 理解 while語(yǔ)句 130
9.2.2 在程序中使用 while語(yǔ)句 131
9.3 循環(huán)語(yǔ)句嵌套 132
第 10章 處理錯(cuò)誤 134
10.1 為何 Python不懂你
10.2 程序錯(cuò)誤來源 136
10.2.1 錯(cuò)誤發(fā)生的時(shí)間 136
10.2.2 區(qū)分錯(cuò)誤類型 137
10.3 捕獲異!139
10.3.1 處理基本異常 139
10.3.2 處理特定異!148
10.3.3 嵌套異常處理 150
10.4 引發(fā)異常 153
10.4.1 在異常情況下引發(fā)異!154
10.4.2 把錯(cuò)誤信息傳遞給調(diào)用者 154
10.5 創(chuàng)建和使用自定義異!155
10.6 使用 finally子句 156
第 3部分 執(zhí)行常見任務(wù) 159
第 11章 使用包 161
11.1 創(chuàng)建代碼包 162
11.1.1 了解包的類型 163
11.1.2 包緩存 164
11.2 導(dǎo)入包 165
11.2.1 使用 import語(yǔ)句 167
11.2.2 使用 from...import語(yǔ)句 168
11.3 查找磁盤上的包 170
11.4 從其他地方下載包 171
11.4.1 打開 Anaconda Prompt 172
11.4.2 使用 conda包 172
11.4.3 使用 pip安裝包 176
11.5 查看包內(nèi)容 177
11.6 查看包文檔 179
11.6.1 打開 Pydoc程序 179
11.6.2 使用快速訪問鏈接 181
11.6.3 輸入搜索詞 182
11.6.4 查看結(jié)果 182
第 12章 使用字符串 184
12.1 了解字符串的不同之處 184
12.1.1 使用數(shù)字定義字符 185
12.1.2 使用字符創(chuàng)建字符串 185
12.2 創(chuàng)建包含特殊字符的字符串 187
12.3 獲取子字符串 189
12.4 字符串切片和切塊 190
12.5 查找字符串 193
12.6 格式化字符串 195
第 13章 管理列表 199
13.1 在應(yīng)用程序中組織信息 200
13.1.1 理解列表 200
13.1.2 計(jì)算機(jī)看待列表的方式 200
13.2 創(chuàng)建列表 202
13.3 訪問列表 203
13.4 遍歷列表 205
13.5 修改列表 205
13.6 列表搜索 208
13.7 列表排序 209
13.8 打印列表 211
13.9 使用 Counter對(duì)象 212
第 14章 收集各種數(shù)據(jù) 214
14.1 理解集合 214
14.2 使用元組 215
14.3 使用字典 218
14.3.1 創(chuàng)建和使用字典 219
14.3.2 使用字典代替 switch語(yǔ)句 221
14.4 使用列表創(chuàng)建!224
14.5 使用隊(duì)列 226
14.6 使用雙端隊(duì)列 228
第 15章 創(chuàng)建和使用類 230
15.1 把類理解成一種代碼封裝方法 231
15.2 類的結(jié)構(gòu) 232
15.2.1 定義類 232
15.2.2 類的內(nèi)置屬性 233
15.2.3 使用方法 234
15.2.4 使用構(gòu)造函數(shù) 236
15.2.5 使用變量 237
15.2.6 使用帶有可變參數(shù)列表的方法 239
15.2.7 運(yùn)算符重載 241
15.3 創(chuàng)建類 242
15.3.1 定義 MyClass類 242
15.3.2 保存類到磁盤 243
15.4 在應(yīng)用程序中使用 MyClass類 244
15.5 通過類擴(kuò)展創(chuàng)建新類 245
15.5.1 創(chuàng)建子類 245
15.5.2 在應(yīng)用程序中測(cè)試類 247
第 4部分 執(zhí)行高級(jí)任務(wù) 249
第 16章 存儲(chǔ)數(shù)據(jù)到文件 251
16.1 了解永久化存儲(chǔ)的工作原理 252
16.2 創(chuàng)建永久存儲(chǔ)內(nèi)容 253
16.3 創(chuàng)建文件 256
16.4 讀取文件內(nèi)容 259
16.5 更新文件內(nèi)容 261
16.6 刪除文件 265
第 17章 發(fā)送電子郵件 266
17.1 發(fā)送電子郵件時(shí)發(fā)生了什么 266
17.1.1 像看信一樣看電子郵件 267
17.1.2 定義信封的各個(gè)部分 268
17.1.3 定義信件的各個(gè)部分 272
17.2 創(chuàng)建電子郵件消息 276
17.2.1 使用文本消息 276
17.2.2 使用 HTML頁(yè)面 277
17.3 查看電子郵件 278
第 5部分 幾個(gè)“十大” 279
第 18章 十大優(yōu)秀編程資源 281
18.1 使用 Python在線文檔 281
18.2 使用 LearnPython.org教程 282
18.3 使用 Python做 Web編程 283
18.4 獲取更多庫(kù) 284
18.5 使用 IDE快速創(chuàng)建應(yīng)用程序 285
18.6 更容易地檢查語(yǔ)法 285
18.7 使用 XML 286
18.8 克服常見的 Python新手錯(cuò)誤 287
18.9 了解 Unicode 288
18.10 加快 Python程序的運(yùn)行速度 288
第 19章 Python十大賺錢之道 289
19.1 使用 Python做 QA 289
19.2 在一家小公司謀得一份 IT工作 290
19.3 為軟件產(chǎn)品編寫腳本 291
19.4 管理網(wǎng)絡(luò) 292
19.5 教授編程技術(shù) 292
19.6 幫助人們確定地理位置 292
19.7 數(shù)據(jù)挖掘 293
19.8 嵌入式系統(tǒng) 293
19.9 做科學(xué)計(jì)算任務(wù) 294
19.10 實(shí)時(shí)數(shù)據(jù)分析 294
第 20章 十大提升你 Python技能的工具 296
20.1 使用 Roundup Issue Tracker跟蹤 Bug 297
20.2 使用 VirtualEnv創(chuàng)建虛擬環(huán)境 298
20.3 使用 PyInstaller安裝你的應(yīng)用程序 299
20.4 使用 pdoc創(chuàng)建開發(fā)人員文檔 300
20.5 使用 Komodo Edit編寫程序代碼 301
20.6 使用 pydbgr調(diào)試程序 301
20.7 使用 IPython進(jìn)入交互環(huán)境 302
20.8 使用 PyUnit測(cè)試 Python應(yīng)用程序 302
20.9 使用 Isort整理代碼 303
20.10 使用 Mercurial進(jìn)行版本控制 303
第 21章 你必須知道的十大 Python庫(kù) 305
21.1 使用 PyCrypto保護(hù)數(shù)據(jù)安全 306
21.2 使用 SQLAlchemy與數(shù)據(jù)庫(kù)交互 306
21.3 使用谷歌地圖看世界 307
21.4 使用 TKInter創(chuàng)建圖形用戶界面 307
21.5 使用 PrettyTable以表格形式呈現(xiàn)數(shù)據(jù) 307
21.6 使用 PyAudio為程序添加聲音 307
21.7 使用 PyQtGraph操作圖像 308
21.8 使用 IRLib查找信息 309
21.9 使用 JPype創(chuàng)建可互操作的 Java環(huán)境 309
21.10 使用 Twisted Matrix訪問本地網(wǎng)絡(luò)資源 310
21.11 使用 httplib2訪問網(wǎng)絡(luò)資源 310