注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Python編程三劍客(共3冊(cè))

Python編程三劍客(共3冊(cè))

Python編程三劍客(共3冊(cè))

定 價(jià):¥267.80

作 者: [美]埃里克·馬瑟斯(Eric Matthes),[美]阿爾·斯維加特(Al Sweigart),[美] Mahesh Venkitachalam
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115008251 出版時(shí)間: 2023-05-01 包裝: 平裝-膠訂
開(kāi)本: 128開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Python編程 從入門(mén)到實(shí)踐 第3版》本書(shū)是享譽(yù)全球的Python入門(mén)書(shū),影響了超過(guò)250萬(wàn)讀者。全書(shū)分兩部分:部分介紹用Python編程所必須了解的基本概念,包括強(qiáng)大的Python庫(kù)和工具,以及列表、字典、if語(yǔ)句、類(lèi)、文件和異常、代碼測(cè)試等內(nèi)容;第二部分將理論付諸實(shí)踐,講解如何開(kāi)發(fā)三個(gè)項(xiàng)目,包括簡(jiǎn)單的2D游戲、利用數(shù)據(jù)生成交互式的信息圖以及創(chuàng)建和定制簡(jiǎn)單的Web應(yīng)用,并幫助讀者解決常見(jiàn)編程問(wèn)題和困惑。第3版進(jìn)行了全面修訂:使用了文本編輯器VS Code,新增了介紹removeprefix()方法和removesuffix()方法的內(nèi)容,并且在項(xiàng)目中利用了Matplotlib和Plotly的新特性,等等?!禤ython編程快速上手 讓繁瑣工作自動(dòng)化 第2版》本書(shū)是一本面向初學(xué)者的Python編程實(shí)用指南。本書(shū)不僅介紹了Python語(yǔ)言的基礎(chǔ)知識(shí),而且通過(guò)案例實(shí)踐教讀者如何使用這些知識(shí)和技能。本書(shū)的部分介紹了基本的Python編程概念,第二部分介紹了一些不同的任務(wù),通過(guò)編寫(xiě)Python程序,可以讓計(jì)算機(jī)自動(dòng)完成它們。第二部分的每一章都有一些項(xiàng)目程序供讀者學(xué)習(xí)。每章的末尾還提供了一些習(xí)題和深入的實(shí)踐項(xiàng)目,幫助讀者鞏固所學(xué)的知識(shí)。附錄部分提供了所有習(xí)題的解答?!禤ython極客項(xiàng)目編程》Python是一種解釋型、面向?qū)ο?、?dòng)態(tài)數(shù)據(jù)類(lèi)型的高 級(jí)程序設(shè)計(jì)語(yǔ)言。通過(guò)Python編程,我們能夠解決現(xiàn)實(shí)生活中的很多任務(wù)。本書(shū)通過(guò)14個(gè)有趣的項(xiàng)目,幫助和鼓勵(lì)讀者探索Python編程的世界。全書(shū)共14章,分別介紹了通過(guò)Python編程實(shí)現(xiàn)的一些有趣項(xiàng)目,包括解析iTunes播放列表、模擬人工生命、創(chuàng)建ASCII碼藝術(shù)圖、照片拼接、生成三維立體圖、創(chuàng)建粒子模擬的煙花噴泉效果、實(shí)現(xiàn)立體光線投射算法,以及用Python結(jié)合Arduino和樹(shù)莓派等硬件的電子項(xiàng)目。本書(shū)并不介紹Python語(yǔ)言的基礎(chǔ)知識(shí),而是通過(guò)一系列不簡(jiǎn)單的項(xiàng)目,展示如何用Python來(lái)解決各種實(shí)際問(wèn)題,以及如何使用一些流行的Python庫(kù)。本書(shū)適合那些想要通過(guò)Python編程來(lái)進(jìn)行嘗試和探索的讀者,適合了解基本的Python語(yǔ)法和基本的編程概念的讀者進(jìn)一步學(xué)習(xí),對(duì)于Python程序員有一定的啟發(fā)和參考價(jià)值。

作者簡(jiǎn)介

  《Python編程 從入門(mén)到實(shí)踐 第3版》埃里克·馬瑟斯(Eric Matthes)締造技術(shù)圖書(shū)銷(xiāo)售奇跡的作家,作品影響了全球數(shù)百萬(wàn)讀者。致力于推動(dòng)Python編程在全球的普及。執(zhí)教計(jì)算機(jī)科學(xué)和數(shù)學(xué)25年,教學(xué)風(fēng)格輕松有趣,深受學(xué)生喜愛(ài)。他對(duì)編程的熱愛(ài)和豐厚的教學(xué)經(jīng)驗(yàn)完整地體現(xiàn)在了蟒蛇書(shū)《Python編程:從入門(mén)到編程》中。蟒蛇書(shū)備受讀者推崇。無(wú)論是熟練掌握其他編程語(yǔ)言的程序員,還是年僅10歲的萌新,都是本書(shū)的擁躉。本書(shū)在全球范圍內(nèi)被翻譯為12種語(yǔ)言,累計(jì)熱銷(xiāo)超過(guò)250萬(wàn)冊(cè),其中僅中文版前兩版的銷(xiāo)量就超過(guò)了120萬(wàn)冊(cè)?!禤ython編程快速上手 讓繁瑣工作自動(dòng)化 第2版》阿爾·斯維加特是一名專(zhuān)業(yè)的軟件開(kāi)發(fā)人員,他教小孩和成人編程。他為初學(xué)者寫(xiě)了幾本Python圖書(shū),包括《Python游戲編程快速上手》《Python密碼學(xué)編程》和《Python和Pygame游戲開(kāi)發(fā)指南》等?!禤ython極客項(xiàng)目編程》Mahesh Venkitachalam是一位擁有二十年編程經(jīng)驗(yàn)的軟件工程師。 他從八年級(jí)就開(kāi)始培養(yǎng)對(duì)技術(shù)的熱情,匯集成了他受歡迎的電子和編程博客:electronut.in。

圖書(shū)目錄

《Python編程 從入門(mén)到實(shí)踐 第3版》
第 一部分 基礎(chǔ)知識(shí)
第 1章 起步 2
1.1 編程環(huán)境簡(jiǎn)介 2
1.1.1 Python版本 2
1.1.2 運(yùn)行Python代碼片段 2
1.1.3 編輯器VS Code簡(jiǎn)介 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)境 6
1.3 運(yùn)行Hello World程序 7
1.3.1 給VS Code安裝Python擴(kuò)展 7
1.3.2 運(yùn)行程序hello_world.py 8
1.4 排除安裝問(wèn)題 8
1.5 從終端運(yùn)行Python程序 9
1.5.1 在Windows系統(tǒng)中從終端
運(yùn)行Python程序 9
1.5.2 在Linux和macOS系統(tǒng)中從
終端運(yùn)行Python程序 10
1.6 小結(jié) 11
第 2章 變量和簡(jiǎn)單的數(shù)據(jù)類(lèi)型 12
2.1 運(yùn)行hello_world.py時(shí)發(fā)生的情況 12
2.2 變量 12
2.2.1 變量的命名和使用 13
2.2.2 如何在使用變量時(shí)避免命名
錯(cuò)誤 14
2.2.3 變量是標(biāo)簽 15
2.3 字符串 16
2.3.1 使用方法修改字符串的大小寫(xiě) 16
2.3.2 在字符串中使用變量 17
2.3.3 使用制表符或換行符來(lái)添加
空白 18
2.3.4 刪除空白 18
2.3.5 刪除前綴 20
2.3.6 如何在使用字符串時(shí)避免語(yǔ)法錯(cuò)誤 20
2.4 數(shù) 22
2.4.1 整數(shù) 22
2.4.2 浮點(diǎn)數(shù) 23
2.4.3 整數(shù)和浮點(diǎn)數(shù) 23
2.4.4 數(shù)中的下劃線 24
2.4.5 同時(shí)給多個(gè)變量賦值 24
2.4.6 常量 24
2.5 注釋 25
2.5.1 如何編寫(xiě)注釋 25
2.5.2 該編寫(xiě)什么樣的注釋 25
2.6 Python之禪 26
2.7 小結(jié) 27
第3章 列表簡(jiǎn)介 28
3.1 列表是什么 28
3.1.1 訪問(wèn)列表元素 28
3.1.2 索引從0而不是1開(kāi)始 29
3.1.3 使用列表中的各個(gè)值 30
3.2 修改、添加和刪除元素 30
3.2.1 修改列表元素 31
3.2.2 在列表中添加元素 31
3.2.3 從列表中刪除元素 32
3.3 管理列表 37
3.3.1 使用sort()方法對(duì)列表進(jìn)行永久排序 37
3.3.2 使用sorted()函數(shù)對(duì)列表進(jìn)行臨時(shí)排序 37
3.3.3 反向打印列表 38
3.3.4 確定列表的長(zhǎng)度 39
3.4 使用列表時(shí)避免索引錯(cuò)誤 40
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 遺漏冒號(hào) 48
4.3 創(chuàng)建數(shù)值列表 49
4.3.1 使用range()函數(shù) 49
4.3.2 使用range()創(chuàng)建數(shù)值列表 50
4.3.3 對(duì)數(shù)值列表執(zhí)行簡(jiǎn)單的統(tǒng)計(jì)
計(jì)算 51
4.3.4 列表推導(dǎo)式 52
4.4 使用列表的一部分 53
4.4.1 切片 53
4.4.2 遍歷切片 54
4.4.3 復(fù)制列表 55
4.5 元組 57
4.5.1 定義元組 58
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 行長(zhǎng) 61
4.6.4 空行 61
4.6.5 其他格式設(shè)置指南 61
4.7 小結(jié) 62
第5章 if語(yǔ)句 63
5.1 一個(gè)簡(jiǎn)單的示例 63
5.2 條件測(cè)試 64
5.2.1 檢查是否相等 64
5.2.2 如何在檢查是否相等時(shí)忽略
大小寫(xiě) 64
5.2.3 檢查是否不等 65
5.2.4 數(shù)值比較 66
5.2.5 檢查多個(gè)條件 66
5.2.6 檢查特定的值是否在列表中 67
5.2.7 檢查特定的值是否不在列表中 68
5.2.8 布爾表達(dá)式 68
5.3 if語(yǔ)句 69
5.3.1 簡(jiǎn)單的if語(yǔ)句 69
5.3.2 if-else語(yǔ)句 70
5.3.3 if-elif-else語(yǔ)句 71
5.3.4 使用多個(gè)elif代碼塊 72
5.3.5 省略else代碼塊 73
5.3.6 測(cè)試多個(gè)條件 73
5.4 使用if語(yǔ)句處理列表 76
5.4.1 檢查特殊元素 76
5.4.2 確定列表非空 77
5.4.3 使用多個(gè)列表 77
5.5 設(shè)置if語(yǔ)句的格式 79
5.6 小結(jié) 80
第6章 字典 81
6.1 一個(gè)簡(jiǎn)單的字典 81
6.2 使用字典 82
6.2.1 訪問(wèn)字典中的值 82
6.2.2 添加鍵值對(duì) 83
6.2.3 從創(chuàng)建一個(gè)空字典開(kāi)始 83
6.2.4 修改字典中的值 84
6.2.5 刪除鍵值對(duì) 85
6.2.6 由類(lèi)似的對(duì)象組成的字典 86
6.2.7 使用get()來(lái)訪問(wèn)值 87
6.3 遍歷字典 88
6.3.1 遍歷所有的鍵值對(duì) 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章 用戶(hù)輸入和while循環(huán) 101
7.1 input()函數(shù)的工作原理 101
7.1.1 編寫(xiě)清晰的提示 102
7.1.2 使用int()來(lái)獲取數(shù)值輸入 103
7.1.3 求模運(yùn)算符 104
7.2 while循環(huán)簡(jiǎn)介 105
7.2.1 使用while循環(huán) 105
7.2.2 讓用戶(hù)選擇何時(shí)退出 106
7.2.3 使用標(biāo)志 107
7.2.4 使用break退出循環(huán) 108
7.2.5 在循環(huán)中使用continue 109
7.2.6 避免無(wú)限循環(huán) 110
7.3 使用while循環(huán)處理列表和字典 111
7.3.1 在列表之間移動(dòng)元素 111
7.3.2 刪除為特定值的所有列表
元素 112
7.3.3 使用用戶(hù)輸入填充字典 113
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 返回簡(jiǎn)單的值 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í)參 133
8.6 將函數(shù)存儲(chǔ)在模塊中 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ù)編寫(xiě)指南 137
8.8 小結(jié) 139
第9章 類(lèi) 140
9.1 創(chuàng)建和使用類(lèi) 140
9.1.1 創(chuàng)建Dog類(lèi) 141
9.1.2 根據(jù)類(lèi)創(chuàng)建實(shí)例 142
9.2 使用類(lèi)和實(shí)例 144
9.2.1 Car類(lèi) 144
9.2.2 給屬性指定默認(rèn)值 145
9.2.3 修改屬性的值 146
9.3 繼承 149
9.3.1 子類(lèi)的__init__()方法 149
9.3.2 給子類(lèi)定義屬性和方法 151
9.3.3 重寫(xiě)父類(lèi)中的方法 152
9.3.4 將實(shí)例用作屬性 152
9.3.5 模擬實(shí)物 154
9.4 導(dǎo)入類(lèi) 155
9.4.1 導(dǎo)入單個(gè)類(lèi) 155
9.4.2 在一個(gè)模塊中存儲(chǔ)多個(gè)類(lèi) 157
9.4.3 從一個(gè)模塊中導(dǎo)入多個(gè)類(lèi) 158
9.4.4 導(dǎo)入整個(gè)模塊 158
9.4.5 導(dǎo)入模塊中的所有類(lèi) 159
9.4.6 在一個(gè)模塊中導(dǎo)入另一個(gè)
模塊 159
9.4.7 使用別名 160
9.4.8 找到合適的工作流程 161
9.5 Python標(biāo)準(zhǔn)庫(kù) 161
9.6 類(lèi)的編程風(fēng)格 162
9.7 小結(jié) 163
第 10章 文件和異常 164
10.1 讀取文件 164
10.1.1 讀取文件的全部?jī)?nèi)容 164
10.1.2 相對(duì)文件路徑和文件
路徑 166
10.1.3 訪問(wèn)文件中的各行 167
10.1.4 使用文件的內(nèi)容 168
10.1.5 包含100萬(wàn)位的大型文件 169
10.1.6 圓周率值中包含你的
生日嗎 169
10.2 寫(xiě)入文件 170
10.2.1 寫(xiě)入一行 171
10.2.2 寫(xiě)入多行 171
10.3 異常 172
10.3.1 處理ZeroDivisionError
異常 172
10.3.2 使用try-except代碼塊 173
10.3.3 使用異常避免崩潰 173
10.3.4 else代碼塊 174
10.3.5 處理FileNotFoundError
異常 175
10.3.6 分析文本 177
10.3.7 使用多個(gè)文件 177
10.3.8 靜默失敗 179
10.3.9 決定報(bào)告哪些錯(cuò)誤 179
10.4 存儲(chǔ)數(shù)據(jù) 181
10.4.1 使用json.dumps()和json.loads() 181
10.4.2 保存和讀取用戶(hù)生成的
數(shù)據(jù) 182
10.4.3 重構(gòu) 184
10.5 小結(jié) 186
第 11章 測(cè)試代碼 187
11.1 使用pip安裝pytest 187
11.1.1 更新pip 188
11.1.2 安裝pytest 188
11.2 測(cè)試函數(shù) 189
11.2.1 單元測(cè)試和測(cè)試用例 190
11.2.2 可通過(guò)的測(cè)試 190
11.2.3 運(yùn)行測(cè)試 191
11.2.4 未通過(guò)的測(cè)試 191
11.2.5 在測(cè)試未通過(guò)時(shí)怎么辦 192
11.2.6 添加新測(cè)試 193
11.3 測(cè)試類(lèi) 195
11.3.1 各種斷言 195
11.3.2 一個(gè)要測(cè)試的類(lèi) 195
11.3.3 測(cè)試AnonymousSurvey類(lèi) 197
11.3.4 使用夾具 198
11.4 小結(jié) 200
第二部分 項(xiàng)  目
項(xiàng)目1 外星人入侵 202
第 12章 武裝飛船 203
12.1 規(guī)劃項(xiàng)目 203
12.2 安裝Pygame 204
12.3 開(kāi)始游戲項(xiàng)目 204
12.3.1 創(chuàng)建Pygame窗口及響應(yīng)用戶(hù)輸入 204
12.3.2 控制幀率 206
12.3.3 設(shè)置背景色 207
12.3.4 創(chuàng)建Settings類(lèi) 207
12.4 添加飛船圖像 208
12.4.1 創(chuàng)建Ship類(lèi) 209
12.4.2 在屏幕上繪制飛船 211
12.5 重構(gòu):_check_events()方法和_update_screen()方法 212
12.5.1 _check_events()方法 212
12.5.2 _update_screen()方法 213
12.6 駕駛飛船 214
12.6.1 響應(yīng)按鍵 214
12.6.2 允許持續(xù)移動(dòng) 214
12.6.3 左右移動(dòng) 216
12.6.4 調(diào)整飛船的速度 217
12.6.5 限制飛船的活動(dòng)范圍 218
12.6.6 重構(gòu)_check_events() 219
12.6.7 按Q鍵退出 220
12.6.8 在全屏模式下運(yùn)行游戲 220
12.7 簡(jiǎn)單回顧 221
12.7.1 alien_invasion.py 221
12.7.2 settings.py 221
12.7.3 ship.py 221
12.8 射擊 222
12.8.1 添加子彈設(shè)置 222
12.8.2 創(chuàng)建Bullet類(lèi) 222
12.8.3 將子彈存儲(chǔ)到編組中 223
12.8.4 開(kāi)火 224
12.8.5 刪除已消失的子彈 226
12.8.6 限制子彈數(shù)量 226
12.8.7 創(chuàng)建_update_bullets()
方法 227
12.9 小結(jié) 228
第 13章 外星人 229
13.1 項(xiàng)目回顧 229
13.2 創(chuàng)建第 一個(gè)外星人 230
13.2.1 創(chuàng)建Alien類(lèi) 230
13.2.2 創(chuàng)建Alien實(shí)例 231
13.3 創(chuàng)建外星艦隊(duì) 232
13.3.1 創(chuàng)建一行外星人 232
13.3.2 重構(gòu)_create_fleet() 234
13.3.3 添加多行外星人 235
13.4 讓外星艦隊(duì)移動(dòng) 237
13.4.1 向右移動(dòng)外星艦隊(duì) 237
13.4.2 創(chuàng)建表示外星艦隊(duì)移動(dòng)方向的設(shè)置 238
13.4.3 檢查外星人是否到達(dá)了屏幕邊緣 239
13.4.4 向下移動(dòng)外星艦隊(duì)并改變移動(dòng)方向 239
13.5 擊落外星人 240
13.5.1 檢測(cè)子彈和外星人的碰撞 240
13.5.2 為測(cè)試創(chuàng)建大子彈 242
13.5.3 生成新的外星艦隊(duì) 242
13.5.4 加快子彈的速度 243
13.5.5 重構(gòu)_update_bullets() 243
13.6 結(jié)束游戲 244
13.6.1 檢測(cè)外星人和飛船的碰撞 244
13.6.2 響應(yīng)外星人和飛船的碰撞 245
13.6.3 有外星人到達(dá)屏幕下邊緣 247
13.6.4 游戲結(jié)束 248
13.7 確定應(yīng)運(yùn)行游戲的哪些部分 249
13.8 小結(jié) 249
第 14章 記分 250
14.1 添加Play按鈕 250
14.1.1 創(chuàng)建Button類(lèi) 250
14.1.2 在屏幕上繪制按鈕 252
14.1.3 開(kāi)始游戲 253
14.1.4 重置游戲 254
14.1.5 將Play按鈕切換到非活動(dòng)
狀態(tài) 254
14.1.6 隱藏光標(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 對(duì)得分進(jìn)行舍入 264
14.3.8 分 265
14.3.9 顯示等級(jí) 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 繪制簡(jiǎn)單的折線圖 275
15.2.1 修改標(biāo)簽文字和線條粗細(xì) 276
15.2.2 校正繪圖 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 定制刻度標(biāo)記 282
15.2.8 定制顏色 282
15.2.9 使用顏色映射 283
15.2.10 自動(dòng)保存繪圖 284
15.3 隨機(jī)游走 284
15.3.1 創(chuàng)建RandomWalk類(lèi) 284
15.3.2 選擇方向 285
15.3.3 繪制隨機(jī)游走圖 286
15.3.4 模擬多次隨機(jī)游走 287
15.3.5 設(shè)置隨機(jī)游走圖的樣式 287
15.4 使用Plotly模擬擲骰子 292
15.4.1 安裝Plotly 292
15.4.2 創(chuàng)建Die類(lèi) 292
15.4.3 擲骰子 293
15.4.4 分析結(jié)果 293
15.4.5 繪制直方圖 294
15.4.6 定制繪圖 295
15.4.7 同時(shí)擲兩個(gè)骰子 296
15.4.8 進(jìn)一步定制 298
15.4.9 同時(shí)擲兩個(gè)面數(shù)不同的
骰子 298
15.4.10 保存繪圖 299
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 涵蓋更長(zhǎng)的時(shí)間 307
16.1.8 再繪制一個(gè)數(shù)據(jù)系列 308
16.1.9 給圖中區(qū)域著色 309
16.1.10 錯(cuò)誤檢查 310
16.2 制作全球地震散點(diǎn)圖:GeoJSON
格式 313
16.2.1 地震數(shù)據(jù) 313
16.2.2 查看GeoJSON數(shù)據(jù) 313
16.2.3 創(chuàng)建地震列表 316
16.2.4 提取震級(jí) 316
16.2.5 提取位置數(shù)據(jù) 317
16.2.6 繪制地震散點(diǎn)圖 318
16.2.7 指定數(shù)據(jù)的另一種方式 319
16.2.8 定制標(biāo)記的尺寸 320
16.2.9 定制標(biāo)記的顏色 321
16.2.10 其他漸變 323
16.2.11 添加懸停文本 323
16.3 小結(jié) 325
第 17章 使用API 326
17.1 使用API 326
17.1.1 Git和GitHub 326
17.1.2 使用API調(diào)用請(qǐng)求數(shù)據(jù) 327
17.1.3 安裝Requests 327
17.1.4 處理API響應(yīng) 328
17.1.5 處理響應(yīng)字典 329
17.1.6 概述受歡迎的倉(cāng)庫(kù) 331
17.1.7 監(jiān)控API的速率限制 332
17.2 使用Plotly可視化倉(cāng)庫(kù) 332
17.2.1 設(shè)置圖形的樣式 334
17.2.2 添加定制工具提示 335
17.2.3 添加可單擊的鏈接 336
17.2.4 定制標(biāo)記顏色 337
17.2.5 深入了解Plotly和GitHub 
API 338
17.3 Hacker News API 338
17.4 小結(jié) 341
項(xiàng)目3 Web應(yīng)用程序 342
第 18章 Django入門(mén) 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ù)庫(kù) 346
18.1.7 查看項(xiàng)目 346
18.2 創(chuàng)建應(yīng)用程序 348
18.2.1 定義模型 349
18.2.2 激活模型 350
18.2.3 Django管理網(wǎng)站 351
18.2.4 定義模型Entry 353
18.2.5 遷移模型Entry 354
18.2.6 向管理網(wǎng)站注冊(cè)Entry 354
18.2.7 Django shell 355
18.3 創(chuàng)建網(wǎng)頁(yè):學(xué)習(xí)筆記主頁(yè) 357
18.3.1 映射URL 357
18.3.2 編寫(xiě)視圖 359
18.3.3 編寫(xiě)模板 360
18.4 創(chuàng)建其他網(wǎng)頁(yè) 361
18.4.1 模板繼承 361
18.4.2 顯示所有主題的頁(yè)面 363
18.4.3 顯示特定主題的頁(yè)面 366
18.5 小結(jié) 369
第 19章 用戶(hù)賬戶(hù) 370
19.1 讓用戶(hù)能夠輸入數(shù)據(jù) 370
19.1.1 添加新主題 370
19.1.2 添加新條目 374
19.1.3 編輯條目 378
19.2 創(chuàng)建用戶(hù)賬戶(hù) 381
19.2.1 應(yīng)用程序accounts 381
19.2.2 將應(yīng)用程序accounts添加
到settings.py中 381
19.2.3 包含應(yīng)用程序accounts的URL 382
19.2.4 登錄頁(yè)面 382
19.2.5 注銷(xiāo) 385
19.2.6 注冊(cè)頁(yè)面 386
19.3 讓用戶(hù)擁有自己的數(shù)據(jù) 389
19.3.1 使用@login_required限制
訪問(wèn) 389
19.3.2 將數(shù)據(jù)關(guān)聯(lián)到用戶(hù) 391
19.3.3 只允許用戶(hù)訪問(wèn)自己的
主題 393
19.3.4 保護(hù)用戶(hù)的主題 394
19.3.5 保護(hù)頁(yè)面edit_entry 394
19.3.6 將新主題關(guān)聯(lián)到當(dāng)前用戶(hù) 395
19.4 小結(jié) 396
第 20章 設(shè)置應(yīng)用程序的樣式并部署 397
20.1 設(shè)置項(xiàng)目“學(xué)習(xí)筆記”的樣式 397
20.1.1 應(yīng)用程序django-bootstrap5 397
20.1.2 使用Bootstrap設(shè)置項(xiàng)目
“學(xué)習(xí)筆記”的樣式 398
20.1.3 修改base.html 399
20.1.4 使用jumbotron設(shè)置主頁(yè)的樣式 404
20.1.5 設(shè)置登錄頁(yè)面的樣式 405
20.1.6 設(shè)置頁(yè)面topics的樣式 406
20.1.7 設(shè)置頁(yè)面topic中條目的
樣式 407
20.2 部署“學(xué)習(xí)筆記” 409
20.2.1 注冊(cè)Platform.sh賬戶(hù) 409
20.2.2 安裝Platform.sh CLI 409
20.2.3 安裝platformshconfig 410
20.2.4 創(chuàng)建文件requirements.txt 410
20.2.5 其他部署需求 411
20.2.6 添加配置文件 411
20.2.7 為部署到Platform.sh而
修改settings.py 414
20.2.8 使用Git跟蹤項(xiàng)目文件 415
20.2.9 在Platform.sh上創(chuàng)建項(xiàng)目 417
20.2.10 推送到Platform.sh 418
20.2.11 查看線上項(xiàng)目 419
20.2.12 改進(jìn)Platform.sh部署 420
20.2.13 創(chuàng)建定制錯(cuò)誤頁(yè)面 422
20.2.14 繼續(xù)開(kāi)發(fā) 423
20.2.15 將項(xiàng)目從Platform.sh上
刪除 424
20.3 小結(jié) 425
附錄A 安裝及故障排除 426
附錄B 文本編輯器和IDE 430
附錄C 尋求幫助 436
附錄D 使用Git進(jìn)行版本控制 440
附錄E 部署故障排除 449
《Python編程快速上手 讓繁瑣工作自動(dòng)化 第 2版》
目  錄
第 一部分 Python編程基礎(chǔ)
第 1章 Python基礎(chǔ) 2
1.1 在交互式環(huán)境中輸入表達(dá)式 2
1.2 整型、浮點(diǎn)型和字符串?dāng)?shù)據(jù)類(lèi)型 4
1.3 字符串連接和復(fù)制 5
1.4 在變量中保存值 6
1.4.1 賦值語(yǔ)句 6
1.4.2 變量名 7
1.5 第 一個(gè)程序 7
1.6 程序剖析 8
1.6.1 注釋 9
1.6.2 print()函數(shù) 9
1.6.3 input()函數(shù) 9
1.6.4 輸出用戶(hù)的名字 9
1.6.5 len()函數(shù) 10
1.6.6 str()、int()和float()函數(shù) 10
1.7 小結(jié) 13
1.8 習(xí)題 13
第 2章 控制流 15
2.1 布爾值 16
2.2 比較操作符 16
2.3 布爾操作符 18
2.3.1 二元布爾操作符 18
2.3.2 not操作符 19
2.4 混合布爾和比較操作符 19
2.5 控制流的元素 20
2.5.1 條件 20
2.5.2 代碼塊 20
2.6 程序執(zhí)行 20
2.7 控制流語(yǔ)句 21
2.7.1 if語(yǔ)句 21
2.7.2 else語(yǔ)句 22
2.7.3 elif語(yǔ)句 22
2.7.4 while循環(huán)語(yǔ)句 27
2.7.5 惱人的循環(huán) 29
2.7.6 break語(yǔ)句 30
2.7.7 continue語(yǔ)句 32
2.7.8 for循環(huán)和range()函數(shù) 34
2.7.9 等價(jià)的while循環(huán) 36
2.7.10 range()函數(shù)的開(kāi)始、停止和步長(zhǎng)參數(shù) 36
2.8 導(dǎo)入模塊 37
2.9 用sys.exit()函數(shù)提前結(jié)束程序 38
2.10 小程序:猜數(shù)字 39
2.11 小程序:石頭、紙、剪刀 40
2.12 小結(jié) 43
2.13 習(xí)題 43
第3章 函數(shù) 45
3.1 def語(yǔ)句和參數(shù) 46
3.2 返回值和return語(yǔ)句 47
3.3 None值 48
3.4 關(guān)鍵字參數(shù)和print()函數(shù) 48
3.5 調(diào)用?!?9
3.6 局部和全局作用域 51
3.6.1 局部變量不能在全局作用域內(nèi)使用 52
3.6.2 局部作用域不能使用其他局部作用域內(nèi)的變量 52
3.6.3 全局變量可以在局部作用域中讀取 53
3.6.4 名稱(chēng)相同的局部變量和全局變量 53
3.7 global語(yǔ)句 54
3.8 異常處理 56
3.9 小程序:Zigzag 57
3.10 小結(jié) 59
3.11 習(xí)題 59
3.12 實(shí)踐項(xiàng)目 59
3.12.1 Collatz序列 60
3.12.2 輸入驗(yàn)證 60
第4章 列表 61
4.1 列表數(shù)據(jù)類(lèi)型 61
4.1.1 用索引取得列表中的單個(gè)值 61
4.1.2 負(fù)數(shù)索引 63
4.1.3 利用切片取得子列表 63
4.1.4 用len()函數(shù)取得列表的長(zhǎng)度 64
4.1.5 用索引改變列表中的值 64
4.1.6 列表連接和列表復(fù)制 64
4.1.7 用del語(yǔ)句從列表中刪除值 64
4.2 使用列表 65
4.2.1 列表用于循環(huán) 66
4.2.2 in和not in操作符 67
4.2.3 多重賦值技巧 67
4.2.4 enumerate()函數(shù)與列表一起使用 68
4.2.5 random.choice()和random.shuffle()函數(shù)與列表一起使用 68
4.3 增強(qiáng)的賦值操作 69
4.4 方法 69
4.4.1 用index()方法在列表中查找值 70
4.4.2 用append()和insert()方法在列表中添加值 70
4.4.3 用remove()方法從列表中刪除值 71
4.4.4 用sort()方法將列表中的值排序 71
4.4.5 使用reverse()方法反轉(zhuǎn)列表中的值 72
4.5 例子程序:神奇8球和列表 73
4.6 序列數(shù)據(jù)類(lèi)型 74
4.6.1 可變和不可變數(shù)據(jù)類(lèi)型 74
4.6.2 元組數(shù)據(jù)類(lèi)型 76
4.6.3 用list()和tuple()函數(shù)來(lái)轉(zhuǎn)換類(lèi)型 77
4.7 引用 77
4.7.1 標(biāo)識(shí)和id()函數(shù) 78
4.7.2 傳遞引用 79
4.7.3 copy模塊的copy()和deepcopy()函數(shù) 80
4.8 小程序:Conway的生命游戲 80
4.9 小結(jié) 84
4.10 習(xí)題 84
4.11 實(shí)踐項(xiàng)目 85
4.11.1 逗號(hào)代碼 85
4.11.2 擲硬幣的連勝 85
4.11.3 字符圖網(wǎng)格 86
第5章 字典和結(jié)構(gòu)化數(shù)據(jù) 87
5.1 字典數(shù)據(jù)類(lèi)型 87
5.1.1 字典與列表 87
5.1.2 keys()、values()和items()方法 89
5.1.3 檢查字典中是否存在鍵或值 90
5.1.4 get()方法 90
5.1.5 setdefault()方法 91
5.2 美觀輸出 92
5.3 使用數(shù)據(jù)結(jié)構(gòu)對(duì)真實(shí)世界建?!?3
5.3.1 井字棋盤(pán) 93
5.3.2 嵌套的字典和列表 97
5.4 小結(jié) 98
5.5 習(xí)題 98
5.6 實(shí)踐項(xiàng)目 98
5.6.1 國(guó)際象棋字典驗(yàn)證器 98
5.6.2 好玩游戲的物品清單 99
5.6.3 列表到字典的函數(shù),針對(duì)好玩游戲的物品清單 99
第6章 字符串操作 101
6.1 處理字符串 101
6.1.1 字符串字面量 101
6.1.2 字符串索引和切片 103
6.1.3 字符串的in和not in操作符 104
6.2 將字符串放入其他字符串 104
6.3 有用的字符串方法 105
6.3.1 字符串方法upper()、lower()、isupper()和islower() 105
6.3.2 isX()字符串方法 106
6.3.3 字符串方法startswith()和endswith() 108
6.3.4 字符串方法join()和split() 108
6.3.5 使用partition()方法分隔字符串 109
6.3.6 用rjust()、ljust()和center()方法對(duì)齊文本 110
6.3.7 用strip()、rstrip()和lstrip()方法刪除空白字符 111
6.4 使用ord()和chr()函數(shù)的字符的數(shù)值 112
6.5 用pyperclip模塊復(fù)制粘貼字符串 112
6.6 項(xiàng)目:使用多剪貼板自動(dòng)回復(fù)消息 113
第 1步:程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu) 113
第 2步:處理命令行參數(shù) 114
第3步:復(fù)制正確的短語(yǔ) 114
6.7 項(xiàng)目:在Wiki標(biāo)記中添加無(wú)序列表 115
第 1步:從剪貼板中復(fù)制和粘貼 115
第 2步:分離文本中的行,并添加星號(hào) 116
第3步:連接修改過(guò)的行 116
6.8 小程序:Pig Latin 117
6.9 小結(jié) 120
6.10 習(xí)題 120
6.11 實(shí)踐項(xiàng)目 121
6.11.1 表格輸出 121
6.11.2 僵尸骰子機(jī)器人 122
第二部分 自動(dòng)化任務(wù)
第7章 模式匹配與正則表達(dá)式 126
7.1 不用正則表達(dá)式來(lái)查找文本模式 126
7.2 用正則表達(dá)式查找文本模式 128
7.2.1 創(chuàng)建正則表達(dá)式對(duì)象 128
7.2.2 匹配Regex對(duì)象 129
7.2.3 正則表達(dá)式匹配復(fù)習(xí) 129
7.3 用正則表達(dá)式匹配更多模式 130
7.3.1 利用括號(hào)分組 130
7.3.2 用管道匹配多個(gè)分組 131
7.3.3 用問(wèn)號(hào)實(shí)現(xiàn)可選匹配 132
7.3.4 用星號(hào)匹配零次或多次 132
7.3.5 用加號(hào)匹配一次或多次 133
7.3.6 用花括號(hào)匹配特定次數(shù) 133
7.4 貪心和非貪心匹配 134
7.5 findall()方法 134
7.6 字符分類(lèi) 135
7.7 建立自己的字符分類(lèi) 136
7.8 插入字符和美元字符 136
7.9 通配字符 137
7.9.1 用點(diǎn)-星匹配所有字符 137
7.9.2 用句點(diǎn)字符匹配換行符 138
7.10 正則表達(dá)式符號(hào)復(fù)習(xí) 138
7.11 不區(qū)分大小寫(xiě)的匹配 139
7.12 用sub()方法替換字符串 139
7.13 管理復(fù)雜的正則表達(dá)式 140
7.14 組合使用re.IGNORECASE、re.DOTALL和re.VERBOSE 140
7.15 項(xiàng)目:電話號(hào)碼和E-mail地址提取程序 141
第 1步:為電話號(hào)碼創(chuàng)建一個(gè)正則表達(dá)式 141
第 2步:為E-mail地址創(chuàng)建一個(gè)正則表達(dá)式 142
第3步:在剪貼板文本中找到所有匹配 143
第4步:將所有匹配連接成一個(gè)字符串,復(fù)制到剪貼板 143
第5步:運(yùn)行程序 144
第6步:類(lèi)似程序的構(gòu)想 144
7.16 小結(jié) 144
7.17 習(xí)題 145
7.18 實(shí)踐項(xiàng)目 146
7.18.1 日期檢測(cè) 146
7.18.2 強(qiáng)口令檢測(cè) 146
7.18.3 strip()的正則表達(dá)式版本 147
第8章 輸入驗(yàn)證 148
8.1 PyInputPlus模塊 149
8.1.1 關(guān)鍵字參數(shù)min、max、greaterThan和lessThan 150
8.1.2 關(guān)鍵字參數(shù)blank 150
8.1.3 關(guān)鍵字參數(shù)limit、timeout和default 151
8.1.4 關(guān)鍵字參數(shù)allowRegexes和blockRegexes 151
8.1.5 將自定義驗(yàn)證函數(shù)傳遞給inputCustom() 152
8.2 項(xiàng)目:如何讓人忙幾個(gè)小時(shí) 153
8.3 項(xiàng)目:乘法測(cè)驗(yàn) 154
8.4 小結(jié) 156
8.5 習(xí)題 156
8.6 實(shí)踐項(xiàng)目 157
8.6.1 三明治機(jī) 157
8.6.2 編寫(xiě)自己的乘法測(cè)驗(yàn) 157
第9章 讀寫(xiě)文件 158
9.1 文件與文件路徑 158
9.1.1 Windows操作系統(tǒng)上的倒斜杠以及macOS和Linux操作系統(tǒng)上的正斜杠 159
9.1.2 使用/運(yùn)算符連接路徑 160
9.1.3 當(dāng)前工作目錄 161
9.1.4 主目錄 162
9.1.5 路徑與相對(duì)路徑 162
9.1.6 用os.makedirs()創(chuàng)建新文件夾 163
9.1.7 處理路徑和相對(duì)路徑 164
9.1.8 取得文件路徑的各部分 165
9.1.9 查看文件大小和文件夾內(nèi)容 167
9.1.10 使用通配符模式修改文件列表 168
9.1.11 檢查路徑的有效性 169
9.2 文件讀寫(xiě)過(guò)程 170
9.2.1 用open()函數(shù)打開(kāi)文件 171
9.2.2 讀取文件內(nèi)容 171
9.2.3 寫(xiě)入文件 172
9.3 用shelve模塊保存變量 173
9.4 用pprint.pformat()函數(shù)保存變量 174
9.5 項(xiàng)目:生成隨機(jī)的測(cè)驗(yàn)試卷文件 175
第 1步:將測(cè)驗(yàn)數(shù)據(jù)保存在一個(gè)字典中 175
第 2步:創(chuàng)建測(cè)驗(yàn)文件,并打亂問(wèn)題的次序 176
第3步:創(chuàng)建答案選項(xiàng) 177
第4步:將內(nèi)容寫(xiě)入測(cè)驗(yàn)試卷和答案文件 178
9.6 項(xiàng)目:創(chuàng)建可更新的多重剪貼板 179
第 1步:注釋和shelf設(shè)置 179
第 2步:用一個(gè)關(guān)鍵字保存剪貼板內(nèi)容 180
第3步:列出關(guān)鍵字和加載關(guān)鍵字的內(nèi)容 180
9.7 小結(jié) 181
9.8 習(xí)題 181
9.9 實(shí)踐項(xiàng)目 182
9.9.1 擴(kuò)展多重剪貼板 182
9.9.2 瘋狂填詞 182
9.9.3 正則表達(dá)式查找 182
第 10章 組織文件 183
10.1 shutil模塊 183
10.1.1 復(fù)制文件和文件夾 183
10.1.2 文件和文件夾的移動(dòng)與重命名 184
10.1.3 永久刪除文件和文件夾 185
10.1.4 用send2trash模塊安全地刪除 186
10.2 遍歷目錄樹(shù) 186
10.3 用zipfile模塊壓縮文件 188
10.3.1 讀取ZIP文件 188
10.3.2 從ZIP文件中解壓縮 189
10.3.3 創(chuàng)建和添加到ZIP文件 189
10.4 項(xiàng)目:將帶有美國(guó)風(fēng)格日期的文件重命名為歐洲風(fēng)格日期 190
第 1步:為美國(guó)風(fēng)格的日期創(chuàng)建一個(gè)正則表達(dá)式 190
第 2步:識(shí)別文件名中的日期部分 191
第3步:構(gòu)成新文件名,并對(duì)文件重命名 192
第4步:類(lèi)似程序的想法 192
10.5 項(xiàng)目:將一個(gè)文件夾備份到一個(gè)ZIP文件 193
第 1步:弄清楚ZIP文件的名稱(chēng) 193
第 2步:創(chuàng)建新ZIP文件 194
第3步:遍歷目錄樹(shù)并添加到ZIP文件 194
第4步:類(lèi)似程序的想法 195
10.6 小結(jié) 195
10.7 習(xí)題 196
10.8 實(shí)踐項(xiàng)目 196
10.8.1 選擇性復(fù)制 196
10.8.2 刪除不需要的文件 196
10.8.3 消除缺失的編號(hào) 196
第 11章 調(diào)試 197
11.1 拋出異常 197
11.2 取得回溯字符串 199
11.3 斷言 200
在交通燈模擬中使用斷言 201
11.4 日志 202
11.4.1 使用logging模塊 202
11.4.2 不要用print()調(diào)試 203
11.4.3 日志級(jí)別 204
11.4.4 禁用日志 204
11.4.5 將日志記錄到文件 205
11.5 Mu的調(diào)試器 205
11.5.1 Continue 206
11.5.2 Step In 206
11.5.3 Step Over 206
11.5.4 Step Out 206
11.5.5 Stop 206
11.5.6 調(diào)試一個(gè)數(shù)字相加的程序 207
11.5.7 斷點(diǎn) 208
11.6 小結(jié) 209
11.7 習(xí)題 209
11.8 實(shí)踐項(xiàng)目 210
第 12章 從Web抓取信息 211
12.1 項(xiàng)目:利用webbrowser模塊的mapIt.py 211
第 1步:弄清楚URL 212
第 2步:處理命令行參數(shù) 212
第3步:處理剪貼板內(nèi)容,加載瀏覽器 213
第4步:類(lèi)似程序的想法 214
12.2 用requests模塊從Web下載文件 214
12.2.1 用requests.get()函數(shù)下載一個(gè)網(wǎng)頁(yè) 214
12.2.2 檢查錯(cuò)誤 215
12.3 將下載的文件保存到硬盤(pán) 216
12.4 HTML 217
12.4.1 學(xué)習(xí)HTML的資源 217
12.4.2 快速?gòu)?fù)習(xí) 217
12.4.3 查看網(wǎng)頁(yè)的HTML源代碼 218
12.4.4 打開(kāi)瀏覽器的開(kāi)發(fā)者工具 218
12.4.5 使用開(kāi)發(fā)者工具來(lái)尋找HTML元素 219
12.5 用bs4模塊解析HTML 220
12.5.1 從HTML創(chuàng)建一個(gè)BeautifulSoup對(duì)象 221
12.5.2 用select()方法尋找元素 221
12.5.3 通過(guò)元素的屬性獲取數(shù)據(jù) 223
12.6 項(xiàng)目: 打開(kāi)所有搜索結(jié)果 223
第1步:獲取命令行參數(shù),并請(qǐng)求查詢(xún)頁(yè)面 224
第 2步:找到所有的結(jié)果 224
第3步:針對(duì)每個(gè)結(jié)果打開(kāi)Web瀏覽器 225
第4步:類(lèi)似程序的想法 226
12.7 項(xiàng)目:下載所有XKCD漫畫(huà) 226
第 1步:設(shè)計(jì)程序 227
第 2步:下載網(wǎng)頁(yè) 228
第3步:尋找和下載漫畫(huà)圖像 228
第4步:保存圖像,找到前一張漫畫(huà) 229
第5步:類(lèi)似程序的想法 230
12.8 用selenium模塊控制瀏覽器 230
12.8.1 啟動(dòng)selenium控制的瀏覽器 231
12.8.2 在頁(yè)面中尋找元素 232
12.8.3 單擊頁(yè)面 234
12.8.4 填寫(xiě)并提交表單 234
12.8.5 發(fā)送特殊鍵 234
12.8.6 單擊瀏覽器按鈕 235
12.8.7 關(guān)于selenium的更多信息 235
12.9 小結(jié) 235
12.10 習(xí)題 236
12.11 實(shí)踐項(xiàng)目 236
12.11.1 命令行電子郵件程序 236
12.11.2 圖像網(wǎng)站下載 237
12.11.3 2048 237
12.11.4 鏈接驗(yàn)證 237
第 13章 處理Excel電子表格 238
13.1 Excel文檔 238
13.2 安裝openpyxl模塊 238
13.3 讀取Excel文檔 239
13.3.1 用openpyxl模塊打開(kāi)Excel文檔 239
13.3.2 從工作簿中取得工作表 240
13.3.3 從表中取得單元格 240
13.3.4 列字母和數(shù)字之間的轉(zhuǎn)換 241
13.3.5 從表中取得行和列 242
13.3.6 工作簿、工作表、單元格 243
13.4 項(xiàng)目:從電子表格中讀取數(shù)據(jù) 244
第 1步:讀取電子表格數(shù)據(jù) 244
第 2步:填充數(shù)據(jù)結(jié)構(gòu) 245
第3步:將結(jié)果寫(xiě)入文件 246
第4步:類(lèi)似程序的思想 247
13.5 寫(xiě)入Excel文檔 247
13.5.1 創(chuàng)建并保存Excel文檔 247
13.5.2 創(chuàng)建和刪除工作表 248
13.5.3 將值寫(xiě)入單元格 248
13.6 項(xiàng)目:更新電子表格 249
第 1步:利用更新信息建立數(shù)據(jù)結(jié)構(gòu) 249
第 2步:檢查所有行,更新不正確的價(jià)格 250
第3步:類(lèi)似程序的思想 251
13.7 設(shè)置單元格的字體風(fēng)格 251
13.8 Font對(duì)象 252
13.9 公式 253
13.10 調(diào)整行和列 253
13.10.1 設(shè)置行高和列寬 254
13.10.2 合并和拆分單元格 254
13.10.3 凍結(jié)窗格 255
13.10.4 圖表 256
13.11 小結(jié) 257
13.12 習(xí)題 258
13.13 實(shí)踐項(xiàng)目 258
13.13.1 乘法表 258
13.13.2 空行插入程序 259
13.13.3 電子表格單元格翻轉(zhuǎn)程序 259
13.13.4 文本文件到電子表格 260
13.13.5 電子表格到文本文件 260
第 14章 處理Google電子表格 261
14.1 安裝和設(shè)置EZSheets 261
14.1.1 獲取證書(shū)和令牌文件 261
14.1.2 撤銷(xiāo)證書(shū)文件 262
14.2 Spreadsheet對(duì)象 263
14.2.1 創(chuàng)建、上傳和列出電子表格 264
14.2.2 電子表格的屬性 265
14.2.3 下載和上傳電子表格 265
14.2.4 刪除電子表格 266
14.3 工作表對(duì)象 266
14.3.1 讀取和寫(xiě)入數(shù)據(jù) 267
14.3.2 創(chuàng)建和刪除工作表 271
14.3.3 復(fù)制工作表 272
14.4 利用Google Sheets 配額 272
14.5 小結(jié) 273
14.6 習(xí)題 273
14.7 實(shí)踐項(xiàng)目 273
14.7.1 下載Google Forms數(shù)據(jù) 274
14.7.2 將電子表格轉(zhuǎn)換為其他格式 274
14.7.3 查找電子表格中的錯(cuò)誤 274
第 15章 處理PDF和Word文檔 275
15.1 PDF文檔 275
15.1.1 從PDF提取文本 275
15.1.2 解密PDF 277
15.1.3 創(chuàng)建PDF 277
15.2 項(xiàng)目:從多個(gè)PDF中合并選擇的頁(yè)面 281
第 1步:找到所有PDF文檔 281
第 2步:打開(kāi)每個(gè)PDF文檔 282
第3步:添加每一頁(yè) 282
第4步:保存結(jié)果 283
第5步:類(lèi)似程序的想法 283
15.3 Word文檔 284
15.3.1 讀取Word文檔 284
15.3.2 從.docx文檔中取得完整的文本 285
15.3.3 設(shè)置Paragraph和Run對(duì)象的樣式 286
15.3.4 創(chuàng)建帶有非默認(rèn)樣式的Word文檔 287
15.3.5 Run屬性 287
15.3.6 寫(xiě)入Word文檔 288
15.3.7 添加標(biāo)題 290
15.3.8 添加換行符和換頁(yè)符 290
15.3.9 添加圖像 291
15.4 從Word文檔中創(chuàng)建PDF 291
15.5 小結(jié) 292
15.6 習(xí)題 292
15.7 實(shí)踐項(xiàng)目 293
15.7.1 PDF偏執(zhí)狂 293
15.7.2 定制邀請(qǐng)函,保存為Word文檔 293
15.7.3 蠻力PDF口令破解程序 294
第 16章 處理CSV文件和 JSON數(shù)據(jù) 295
16.1 csv模塊 295
16.1.1 reader對(duì)象 296
16.1.2 在for循環(huán)中,從reader對(duì)象讀取數(shù)據(jù) 297
16.1.3 writer對(duì)象 297
16.1.4 delimiter和lineterminator關(guān)鍵字參數(shù) 298
16.1.5 DictReader和DictWriter CSV對(duì)象 299
16.2 項(xiàng)目:從CSV文件中刪除標(biāo)題行 300
第 1步:循環(huán)遍歷每個(gè)CSV文件 301
第 2步:讀入CSV文件 301
第3步:寫(xiě)入CSV文件,沒(méi)有第 一行 302
第4步:類(lèi)似程序的想法 303
16.3 JSON和API 303
16.4 json模塊 304
16.4.1 用loads()函數(shù)讀取JSON 304
16.4.2 用dumps函數(shù)寫(xiě)出JSON 304
16.5 項(xiàng)目:取得當(dāng)前的天氣數(shù)據(jù) 305
第 1步:從命令行參數(shù)獲取位置 305
第 2步:下載JSON數(shù)據(jù) 306
第3步:加載JSON數(shù)據(jù)并輸出天氣 307
第4步:類(lèi)似程序的想法 308
16.6 小結(jié) 308
16.7 習(xí)題 308
16.8 實(shí)踐項(xiàng)目 309
第 17章 保持時(shí)間、計(jì)劃任務(wù)和啟動(dòng)程序 310
17.1 time模塊 310
17.1.1 time.time()函數(shù) 310
17.1.2 time.sleep()函數(shù) 311
17.2 數(shù)字四舍五入 312
17.3 項(xiàng)目:超級(jí)秒表 312
第 1步:設(shè)置程序來(lái)記錄時(shí)間 313
第 2步:記錄并輸出單圈時(shí)間 313
第3步:類(lèi)似程序的想法 314
17.4 datetime模塊 314
17.4.1 timedelta數(shù)據(jù)類(lèi)型 315
17.4.2 暫停直至特定日期 317
17.4.3 將datetime對(duì)象轉(zhuǎn)換為字符串 317
17.4.4 將字符串轉(zhuǎn)換成datetime對(duì)象 318
17.5 回顧Python的時(shí)間函數(shù) 318
17.6 多線程 319
17.6.1 向線程的目標(biāo)函數(shù)傳遞參數(shù) 321
17.6.2 并發(fā)問(wèn)題 321
17.7 項(xiàng)目:多線程XKCD下載程序 322
第 1步:修改程序以使用函數(shù) 322
第 2步:創(chuàng)建并啟動(dòng)線程 323
第3步:等待所有線程結(jié)束 323
17.8 從Python啟動(dòng)其他程序 324
17.8.1 向Popen()傳遞命令行參數(shù) 325
17.8.2 Task Scheduler、launchd和cron 326
17.8.3 用Python打開(kāi)網(wǎng)站 326
17.8.4 運(yùn)行其他Python腳本 326
17.8.5 用默認(rèn)的應(yīng)用程序打開(kāi)文件 327
17.9 項(xiàng)目:簡(jiǎn)單的倒計(jì)時(shí)程序 327
第 1步:倒計(jì)時(shí) 328
第 2步:播放聲音文件 328
第3步:類(lèi)似程序的想法 329
17.10 小結(jié) 329
17.11 習(xí)題 329
17.12 實(shí)踐項(xiàng)目 330
17.12.1 美化的秒表 330
17.12.2 計(jì)劃的Web漫畫(huà)下載 330
第 18章 發(fā)送電子郵件和短信 331
18.1 使用Gmail API發(fā)送和接收電子郵件 331
18.1.1 啟用Gmail API 332
18.1.2 從Gmail賬戶(hù)發(fā)送郵件 332
18.1.3 從Gmail賬戶(hù)讀取郵件 333
18.1.4 從Gmail賬戶(hù)中搜索郵件 334
18.1.5 從Gmail賬戶(hù)下載附件 335
18.2 SMTP 335
18.3 發(fā)送電子郵件 335
18.3.1 連接到SMTP服務(wù)器 336
18.3.2 發(fā)送SMTP的“Hello”消息 337
18.3.3 開(kāi)始TLS加密 337
18.3.4 登錄到SMTP服務(wù)器 337
18.3.5 發(fā)送電子郵件 338
18.3.6 從SMTP服務(wù)器斷開(kāi) 338
18.4 IMAP 338
18.5 用IMAP獲取和刪除電子郵件 339
18.5.1 連接到IMAP服務(wù)器 339
18.5.2 登錄到IMAP服務(wù)器 340
18.5.3 搜索電子郵件 340
18.5.4 取郵件并標(biāo)記為已讀 343
18.5.5 從原始消息中獲取電子郵件地址 344
18.5.6 從原始消息中獲取正文 344
18.5.7 刪除電子郵件 345
18.5.8 從IMAP服務(wù)器斷開(kāi) 346
18.6 項(xiàng)目:向會(huì)員發(fā)送會(huì)費(fèi)提醒電子郵件 346
第 1步:打開(kāi)Excel文件 346
第 2步:查找所有未支付會(huì)費(fèi)的成員 347
第3步:發(fā)送定制的電子郵件提醒 348
18.7 使用短信電子郵件網(wǎng)關(guān)發(fā)送短信 349
18.8 用Twilio發(fā)送短信 350
18.8.1 注冊(cè)Twilio賬號(hào) 350
18.8.2 發(fā)送短信 351
18.9 項(xiàng)目:“只給我發(fā)短信”模塊 352
18.10 小結(jié) 353
18.11 習(xí)題 354
18.12 實(shí)踐項(xiàng)目 354
18.12.1 隨機(jī)分配家務(wù)活的電子郵件程序 354
18.12.2 傘提醒程序 354
18.12.3 自動(dòng)退訂 354
18.12.4 通過(guò)電子郵件控制你的計(jì)算機(jī) 355
第 19章 操作圖像 356
19.1 計(jì)算機(jī)圖像基礎(chǔ) 356
19.1.1 顏色和RGBA值 356
19.1.2 坐標(biāo)和Box元組 357
19.2 用pillow操作圖像 358
19.2.1 處理Image數(shù)據(jù)類(lèi)型 359
19.2.2 裁剪圖像 360
19.2.3 復(fù)制和粘貼圖像到其他圖像 361
19.2.4 調(diào)整圖像大小 363
19.2.5 旋轉(zhuǎn)和翻轉(zhuǎn)圖像 363
19.2.6 更改單個(gè)像素 365
19.3 項(xiàng)目:添加徽標(biāo) 366
第 1步:打開(kāi)徽標(biāo)圖像 366
第 2步:遍歷所有文件并打開(kāi)圖像 367
第3步:調(diào)整圖像的大小 368
第4步:添加徽標(biāo),并保存更改 369
第5步:類(lèi)似程序的想法 370
19.4 在圖像上繪畫(huà) 370
19.4.1 繪制形狀 370
19.4.2 繪制文本 372
19.5 小結(jié) 373
19.6 習(xí)題 374
19.7 實(shí)踐項(xiàng)目 374
19.7.1 擴(kuò)展和修正本章項(xiàng)目的程序 374
19.7.2 在硬盤(pán)上識(shí)別照片文件夾 374
19.7.3 定制的座位卡 375
第 20章 用GUI自動(dòng)化控制鍵盤(pán)和鼠標(biāo) 376
20.1 安裝pyautogui模塊 376
20.2 在macOS上設(shè)置無(wú)障礙應(yīng)用程序 377
20.3 走對(duì)路 377
20.3.1 暫停和自動(dòng)防故障裝置 377
20.3.2 通過(guò)注銷(xiāo)關(guān)閉所有程序 377
20.4 控制鼠標(biāo)指針移動(dòng) 377
20.4.1 移動(dòng)鼠標(biāo)指針 378
20.4.2 獲取鼠標(biāo)指針位置 379
20.5 控制鼠標(biāo)交互 379
20.5.1 點(diǎn)擊鼠標(biāo) 380
20.5.2 拖動(dòng)鼠標(biāo) 380
20.5.3 滾動(dòng)鼠標(biāo) 382
20.6 規(guī)劃鼠標(biāo)運(yùn)動(dòng) 382
20.7 處理屏幕 383
20.7.1 獲取屏幕快照 383
20.7.2 分析屏幕快照 383
20.8 圖像識(shí)別 384
20.9 獲取窗口信息 385
20.9.1 獲取活動(dòng)窗口 386
20.9.2 獲取窗口的其他方法 387
20.9.3 操縱窗口 387
20.10 控制鍵盤(pán) 389
20.10.1 通過(guò)鍵盤(pán)發(fā)送一個(gè)字符串 389
20.10.2 鍵名 390
20.10.3 按下和釋放鍵盤(pán)按鍵 391
20.10.4 快捷鍵組合 391
20.11 設(shè)置GUI自動(dòng)化腳本 391
20.12 復(fù)習(xí)PyAutoGUI的函數(shù) 392
20.13 項(xiàng)目:自動(dòng)填表程序 393
第 1步:弄清楚步驟 394
第 2步:建立坐標(biāo) 395
第3步:開(kāi)始輸入數(shù)據(jù) 396
第4步:處理選擇列表和單選按鈕 396
第5步:提交表單并等待 397
20.14 顯示消息框 398
20.15 小結(jié) 399
20.16 習(xí)題 399
20.17 實(shí)踐項(xiàng)目 400
20.17.1 看起來(lái)很忙 400
20.17.2 使用剪貼板讀取文本字段 400
20.17.3 即時(shí)通信機(jī)器人 401
20.17.4 玩游戲機(jī)器人指南 401
附錄A 安裝第三方模塊 402
A.1 pip工具 402
A.2 安裝第三方模塊 403
A.3 為Mu編輯器安裝模塊 404
附錄B 運(yùn)行程序 406
B.1 從命令行窗口運(yùn)行程序 406
B.2 在Windows操作系統(tǒng)上運(yùn)行Python程序 407
B.3 在macOS上運(yùn)行Python程序 408
B.4 在Ubuntu Linux操作系統(tǒng)上運(yùn)行Python程序 408
B.5 運(yùn)行Python程序時(shí)禁用斷言 409
 
 

本目錄推薦

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