注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計Python編程三劍客(共3冊)

Python編程三劍客(共3冊)

Python編程三劍客(共3冊)

定 價:¥267.80

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

購買這本書可以去


ISBN: 9787115008251 出版時間: 2023-05-01 包裝: 平裝-膠訂
開本: 128開 頁數(shù): 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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