Python編程快速上手實戰手冊讓煩瑣工作自動化

阿爾·斯維加特(Al Sweigart)

  • Python編程快速上手實戰手冊讓煩瑣工作自動化-preview-1
Python編程快速上手實戰手冊讓煩瑣工作自動化-preview-1

商品描述

這是一本強調動手實踐的Python編程實戰手冊,與經典教程《Python編程快速上手——讓煩瑣工作自動化(第3版)》[以下簡稱《Python編程快速上手(第3版)》]相輔相成。

本書共24章,內容遵循清晰的實踐路徑展開。從Python基礎語法、流程控制與函數調試入手,逐步深入到列表、字典、文件操作及正則表達式等數據處理核心技能,進而拓展至Web抓取、電子表格與數據庫操作、圖像處理、GUI自動化,以及語音識別等高級應用領域,全面覆蓋Python在自動化辦公與智能開發中的關鍵場景。全書通過大量習題與實踐項目,系統培養讀者從理解語法到解決實際問題的綜合編程能力。此外,本書還提供全書所有習題與實踐項目的參考答案,以便讀者檢驗其對知識和技能的掌握情況。

本書不僅有助於讀者鞏固所學知識和技能,及時查漏補缺,而且有助於塑造其獨立解決實際問題的能力,為日後獨立開發項目或深入學習計算機編程奠定堅實基礎。

作者簡介

阿爾·斯維加特(Al Sweigart),軟件開發人員、藝術家、Python軟件基金會會士(Fellow);著有多部適合初學者閱讀的編程著作,其中包括Invent Your Own Computer Games with Python、The Big Book of Small Python Projects和Beyond the Basic Stuff with Python(均由No Starch 出版社出版);曾在多個PyCon大會上擔任演講嘉賓。

目錄大綱

目 錄

第 1 章 Python 基礎 1

1.1 習題 2

1.1.1 在交互式環境中輸入表達式 2

1.1.2 整型、浮點型和字符串數據類型 3

1.1.3 字符串的拼接和復制 3

1.1.4 在變量中存儲值 4

1.1.5 編寫第一個程序 5

1.1.6 計算機如何使用二進制數存儲數據 6

1.2 實踐項目 7

1.2.1 矩形打印程序 7

1.2.2 周長和面積計算器 7

第 2 章 If-Else 和流程控制 9

2.1 習題 10

2.1.1 布爾值 10

2.1.2 比較運算符 10

2.1.3 布爾運算符 11

2.1.4 流程控制的組成部分 11

2.1.5 流程控制語句 12

2.2 實踐項目 13

2.2.1 修復安全溫度程序 13

2.2.2 使用單個表達式檢查溫度是否在安全範圍內 14

2.2.3 Fizz Buzz 編程挑戰 14

第 3 章 循環 16

3.1 習題 17

3.1.1 while 循環語句 17

3.1.2 for 循環和 range() 函數 18

3.1.3 導入模塊 20

3.1.4 使用 sys.exit() 提前結束程序 20

3.2 實踐項目 21

3.2.1 松樹打印程序 21

3.2.2 聖誕樹打印程序 22

第 4 章 函數 23

4.1 習題 24

4.1.1 創建函數 24

4.1.2 實參和形參 24

4.1.3 返回值和 return 語句 25

4.1.4 None 值 25

4.1.5 調用棧 26

4.1.6 局部作用域和全局作用域 26

4.1.7 異常處理 28

4.2 實踐項目 28

4.2.1 交易跟蹤函數 28

4.2.2 不使用算術運算符的算術函數 29

4.2.3 計時函數 30

第 5 章 調試 31

5.1 習題 32

5.1.1 引發異常 32

5.1.2 斷言 33

5.1.3 日誌 33

5.1.4 Mu 的調試器 33

5.2 實踐項目 34

5.2.1 有 bug 的平均分計算器 34

5.2.2 除零錯誤 35

5.2.3 閏年計算器 35

5.2.4 刻意編寫存在 bug 的代碼 36

第 6 章 列表 38

6.1 習題 39

6.1.1 列表數據類型 39

6.1.2 使用列表 39

6.1.3 增強賦值運算符 40

6.1.4 方法 40

6.1.5 短路求值 41

6.1.6 序列數據類型 42

6.1.7 引用 42

6.2 實踐項目 43

6.2.1 全字母句子檢測器 43

6.2.2 根據移動方向計算最終坐標 44

第 7 章 字典與數據結構化 45

7.1 習題 46

7.1.1 使用數據結構對實物建模 47

7.1.2 嵌套的字典和列表 47

7.2 實踐項目 48

7.2.1 隨機天氣數據生成器 48

7.2.2 平均溫度分析器 49

7.2.3 找出車能夠吃到的棋子 49

第 8 章 字符串與文本編輯 51

8.1 習題 52

8.1.1 使用字符串 52

8.1.2 f- 字符串 53

8.1.3 非常有用的字符串方法 53

8.1.4 字符的數值碼點 54

8.1.5 復制並粘貼字符串 54

8.2 實踐項目 54

8.2.1 猜單詞遊戲 55

8.2.2 滾動文本動畫 56

8.2.3 大小寫交替變換 57

第 9 章 使用正則表達式匹配文本模式 58

9.1 習題 59

9.1.1 正則表達式語法 59

9.1.2 修飾符語法:要匹配什麼字符 59

9.1.3 量詞語法:匹配多少個修飾符 60

9.1.4 貪婪匹配和非貪婪匹配 60

9.1.5 在字符串開頭和末尾查找匹配的內容 60

9.1.6 匹配時不區分大小寫 61

9.1.7 替換字符串 61

9.1.8 使用詳細模式管理復雜的正則表達式 61

9.1.9 Humre:一個用於提高正則表達式可讀性的模塊 62

9.2 實踐項目 62

9.2.1 查找話題標簽的正則表達式 62

9.2.2 查找價格的正則表達式 62

9.2.3 創建一個包含 PyCon 演講者信息的 CSV 文件 63

9.2.4 可笑指數評估程序 64

9.2.5 單詞扭曲器 65

第 10 章 讀寫文件 66

10.1 習題 67

10.1.1 文件和文件路徑 67

10.1.2 文件讀寫過程 68

10.1.3 使用 shelve 模塊保存變量 68

10.2 實踐項目 69

10.2.1 文本文件合並函數 69

10.2.2 將之字形文本寫入文件 69

10.2.3 能保存結果的剪刀、石頭、布遊戲 70

第 11 章 組織文件 71

11.1 習題 72

11.1.1 shutil 模塊 72

11.1.2 遍歷目錄樹 72

11.1.3 使用 zipfile 模塊壓縮文件 73

11.2 實踐項目 73

11.2.1 同名文件查找程序 73

11.2.2 基於字母表創建文件夾 74

11.2.3 從 ZIP 文件中提取特定文件夾中的文件 75

第 12 章 設計並部署命令行程序 76

12.1 習題 77

12.1.1 程序的別名 77

12.1.2 使用終端 77

12.1.3 虛擬環境 78

12.1.4 使用 pip 安裝 Python 包 78

12.1.5 有自我認知的 Python 程序 78

12.1.6 基於文本的程序設計 79

12.1.7 使用 PyMsgBox 彈出消息框 79

12.1.8 部署 Python 程序 80

12.1.9 使用 PyInstaller 編譯 Python 程序 80

12.2 實踐項目 81

12.2.1 使用 PyMsgBox 為猜數遊戲創建對話框界面 81

12.2.2 使用 PyMsgBox 為定時器程序創建界面 81

12.2.3 編譯定時器程序和猜數遊戲 81

第 13 章 Web 內容爬取 82

13.1 習題 83

13.1.1 HTTP 和 HTTPS 83

13.1.2 使用 requests 模塊下載網絡文件 83

13.1.3 訪問天氣 API 83

13.1.4 理解 HTML 84

13.1.5 使用 Beautiful Soup 解析 HTML 84

13.1.6 使用 Selenium 控制瀏覽器 85

13.1.7 使用 Playwright 控制瀏覽器 86

13.2 實踐項目 86

13.2.1 標題下載程序 86

13.2.2 圖像下載程序 87

13.2.3 遍歷網頁鏈 87

13.2.4 HTML 國際象棋棋盤 88

第 14 章 Excel 電子表格 91

14.1 習題 92

14.1.1 讀取 Excel 文件 92

14.1.2 寫入 Excel 文件 92

14.1.3 設置單元格的字體樣式 93

14.1.4 公式 93

14.1.5 調整行和列 94

14.1.6 圖表 94

14.2 實踐項目 95

14.2.1 在特定文件夾下所有的電子表格文件中搜索 95

14.2.2 使用 Excel 電子表格統計主文件夾中的文件 95

第 15 章 Google Sheets 97

15.1 習題 98

15.1.1 安裝和設置 EZSheets 98

15.1.2 Spreadsheet 對象 98

15.1.3 Sheet 對象 99

15.1.4 Google Forms 99

15.1.5 Google Sheets 配額 99

15.2 實踐項目 100

15.2.1 上傳特定文件夾中所有的相關文件 100

15.2.2 使用 Google Sheets 統計主文件夾中的文件 100

第 16 章 SQLite 數據庫 101

16.1 習題 102

16.1.1 比較電子表格和數據庫 102

16.1.2 比較 SQLite 和其他 SQL 數據庫 102

16.1.3 創建數據庫和表 102

16.1.4 數據庫操作 CRUD 103

16.1.5 回滾事務 104

16.1.6 備份數據庫 104

16.1.7 修改和刪除表 105

16.1.8 使用外鍵連接多個表 105

16.1.9 內存數據庫及其備份 106

16.2 實踐項目 106

16.2.1 監控可用磁盤空間 106

16.2.2 數據庫轉儲工具 107

第 17 章 PDF 和 Word 文檔 109

17.1 習題 110

17.1.1 PDF 文檔處理 110

17.1.2 Word 文檔處理 110

17.2 實踐項目 111

17.2.1 計算 PDF 文檔的字數 112

17.2.2 在特定文件夾下所有的 PDF 文檔中查找 112

17.2.3 將猜數遊戲的輸出寫入 Word 文檔 112

17.2.4 將文本文件轉換為 Word 文檔 113

17.2.5 將 Word 文檔中的單詞設置為粗體 113

第 18 章 CSV、JSON 和 XML 文件 114

18.1 習題 115

18.1.1 CSV 格式 115

18.1.2 用途廣泛的純文本格式 116

18.2 實踐項目 117

18.2.1 將 Fizz Buzz 程序的輸出保存到 CSV 文件中 117

18.2.2 將猜數遊戲的統計數據保存到 CSV 文件中 118

18.2.3 將猜數遊戲的統計數據保存到 JSON 文件中 118

18.2.4 將猜數遊戲的統計數據保存到 XML 文件中 119

第 19 章 記錄時間、調度任務和啟動程序 120

19.1 習題 121

19.1.1 time 模塊 121

19.1.2 datetime 模塊 121

19.1.3 在 Python 程序中啟動其他程序 122

19.2 實踐項目 123

19.2.1 用聲音告警 123

19.2.2 圖像打開程序 123

19.2.3 下一個節日告知程序 124

第 20 章 發送電子郵件、短信和通知 125

20.1 習題 126

20.1.1 Gmail API 126

20.1.2 SMS Email 網關 126

20.1.3 通知 127

20.2 實踐項目 127

20.2.1 “每日金句”電子郵件 127

20.2.2 “每日金句”推送通知 128

第 21 章 繪制圖形和操作圖像 129

21.1 習題 130

21.1.1 計算機圖像基礎 130

21.1.2 使用 Pillow 操作圖像 130

21.1.3 在圖像上繪畫 132

21.1.4 使用剪貼板復制並粘貼圖像 132

21.1.5 使用 Matplotlib 繪圖 133

21.2 實踐項目 133

21.2.1 雪人圖像生成程序 133

21.2.2 彩虹旗圖像生成程序 134

21.2.3 剪貼板圖像記錄程序 134

第 22 章 識別圖像中的文本 135

22.1 習題 136

22.1.1 安裝 Tesseract 和 PyTesseract 136

22.1.2 OCR 基礎知識 136

22.1.3 識別非英語文本 136

22.1.4 掃描器應用程序 NAPS2 137

22.2 實踐項目 137

22.2.1 可搜索的 Web 漫畫 137

22.2.2 改善文本提取效果 138

第 23 章 控制鍵盤和鼠標 139

23.1 習題 140

23.1.1 從故障中恢復 140

23.1.2 控制鼠標移動 140

23.1.3 控制鼠標交互 141

23.1.4 規劃鼠標移動 141

23.1.5 截屏 142

23.1.6 圖像識別 142

23.1.7 獲取窗口信息 143

23.1.8 控制鍵盤 143

23.2 實踐項目 143

23.2.1 模仿傑克遜·波洛克作畫的機器人 144

23.2.2 鼠標移動記錄程序 145

23.2.3 重放鼠標移動軌跡 145

第 24 章 文本轉語音引擎和語音識別引擎 146

24.1 習題 147

24.1.1 文本轉語音引擎 147

24.1.2 語音識別 147

24.1.3 創建字幕文件 148

24.1.4 從網站下載視頻 148

24.2 實踐項目 149

24.2.1 讓計算機講敲門笑話 149

24.2.2 讓計算機唱歌 149

24.2.3 在播客中查找單詞 150

答案 152

第 1 章 Python 基礎 152

第 2 章 If-Else 和流程控制 156

第 3 章 循環 160

第 4 章 函數 163

第 5 章 調試 167

第 6 章 列表 170

第 7 章 字典與數據結構化 174

第 8 章 字符串與文本編輯 178

第 9 章 使用正則表達式匹配文本模式 182

第 10 章 讀寫文件 186

第 11 章 組織文件 190

第 12 章 設計並部署命令行程序 193

第 13 章 Web 內容爬取 197

第 14 章 Excel 電子表格 204

第 15 章 Google Sheets 208

第 16 章 SQLite 數據庫 211

第 17 章 PDF 和 Word 文檔 215

第 18 章 CSV、JSON 和 XML 文件 221

第 19 章 記錄時間、調度任務和啟動程序 226

第 20 章 發送電子郵件、短信和通知 230

第 21 章 繪制圖形和操作圖像 233

第 22 章 識別圖像中的文本 239

第 23 章 控制鍵盤和鼠標 241

第 24 章 文本轉語音引擎和語音識別引擎 245