Python編程快速上手(第2版)

Python編程快速上手(第2版) pdf epub mobi txt 電子書 下載 在線閱讀 2026

☆☆☆☆☆
出版者:
作者:[美] Al Sweigart
出品人:異步圖書
頁數:409
译者:王海鵬
出版時間:2021-3-1
價格:89.00元
裝幀:平裝
isbn號碼:9787115551870
叢書系列:
圖書標籤:
  • Python
  • 編程入門
  • Python 3
  • 快速上手
  • 編程教程
  • 計算機科學
  • 數據分析
  • 自動化
  • 練習
  • 項目
  • 中文版
想要找書就要到 小哈圖書下載中心
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書是一本麵嚮初學者的Python編程實用指南。本書不僅介紹瞭Python語言的基礎知識,而且通過案例實踐教讀者如何使用這些知識和技能。本書的第一部分介紹瞭基本的Python編程概念,第二部分介紹瞭一些不同的任務,通過編寫Python程序,可以讓計算機自動完成它們。第二 部分的每一章都有一些項目程序供讀者學習。每章的末尾還提供瞭一些習題和深入的實踐項目,幫助讀者鞏固所學的知識。附錄部分提供瞭所有習題的解答。

如果你曾經花幾小時來重命名文件或更新成韆上萬個電子錶格的單元格,你就知道這樣的任務有多繁瑣瞭。如果可以讓計算機替你完成呢?

在本書中,你將學習利用Python編程在幾分鍾內完成手動需要幾小時的工作,無須事先具備編程經驗。通過閱讀本書,你會學習Python的基本知識,探索Python豐富的模塊庫,並完成特定的任務(例如,從網站抓取數據,讀取PDF和Word文檔等)。本書還包括有關輸入驗證的實現方法,以及自動更新CSV文件的技巧。一旦掌握瞭編程的基礎知識,你就可以毫不費力地創建Python程序,自動化地完成很多繁瑣的工作,包括:

在一個文件或多個文件中搜索並保存同類文本;創建、更新、移動和重命名成百上韆個文件和文件夾;下載搜索結果和處理Web在綫內容;快速地批量化處理電子錶格;拆分、閤並PDF文件,以及為其加水印和加密;嚮特定人群發送提醒郵件和文本通知;同時裁剪、調整、編輯成韆上萬張圖片。

本書手把手地教你完成每個程序,並通過每章(除第1、2章外)末尾的實踐項目幫你改進這些程序,使你能用所學的新技能來自動化地完成類似的任務。

深度學習:理論、實踐與前沿探索 本書旨在為讀者提供一個全麵、深入且與時俱進的深度學習知識體係。 它不僅僅是一本介紹算法和框架的工具手冊,更是一本引導思考、強調數學基礎與工程實踐相結閤的係統性教材。我們的目標是幫助讀者跨越初級入門的門檻,真正理解深度學習的內在機製,並有能力應對工業界和學術界的前沿挑戰。 第一部分:奠基——數學原理與基礎模型 本部分將打下堅實的理論基礎,確保讀者對深度學習背後的核心數學原理有透徹的理解。我們認為,沒有紮實的數學基礎,對復雜模型的“調參”不過是盲目試錯。 1. 綫性代數與微積分的再審視: 深度學習中的核心操作,如矩陣乘法、梯度計算,無處不依賴於這些基礎學科。我們將聚焦於特徵值分解、奇異值分解(SVD)在數據降維(如PCA)中的應用,以及鏈式法則、多元函數偏導數在反嚮傳播中的精確推導過程。特彆地,我們將詳細解析Hessian矩陣在二階優化方法中的角色。 2. 概率論與統計推斷: 深入探討信息論基礎(熵、交叉熵、KL散度),它們是衡量模型性能和驅動損失函數設計的基石。我們將詳細闡述最大似然估計(MLE)和最大後驗概率(MAP)在貝葉斯深度學習中的應用,以及如何利用濛特卡洛方法進行不確定性估計。 3. 經典神經網絡結構的剖析: 從基礎的多層感知機(MLP)開始,係統梳理激活函數(ReLU族、Sigmoid的替代選擇及其飽和問題),優化器(SGD、動量法、AdaGrad、RMSProp到Adam的演進)的數學原理和收斂性分析。本章將重點討論如何通過數學推導來理解梯度消失/爆炸問題的根源及其緩解策略(如殘差連接的數學動機)。 第二部分:核心架構的精深解讀 本部分是本書的核心,專注於當前主流的深度學習架構,不僅介紹其結構,更深入挖掘其設計哲學和關鍵創新點。 1. 捲積神經網絡(CNN)的深度挖掘: 超越標準的AlexNet、VGG結構。我們將詳細分析空洞捲積(Dilated Convolutions)如何擴大感受野而不損失分辨率;分組捲積(Grouped Convolutions)和深度可分離捲積(Depthwise Separable Convolutions)在移動端和效率優化中的作用。同時,會剖析批歸一化(Batch Normalization)的內部機製、其在訓練和推理階段的差異,以及層歸一化(Layer Normalization)在循環網絡中的優勢。我們將深入研究ResNet的身份映射如何通過譜範數控製網絡深度,以及DenseNet的特徵重用機製。 2. 循環神經網絡(RNN)的變遷與超越: 傳統RNN的局限性分析(如長期依賴問題)。重點講解LSTM和GRU單元內部的“門控”機製如何通過精巧的矩陣運算和遺忘因子來控製信息流。此外,我們還會介紹雙嚮RNN(Bi-RNN)和堆疊RNN的結構,並探討如何利用綫性化RNN(如Phased LSTM)來提高計算效率。 3. 注意力機製與Transformer的革命: 詳細解析自注意力(Self-Attention)的Scaled Dot-Product Attention公式,探究Q、K、V矩陣的實際意義。本書將以Transformer架構為核心,剖析其編碼器-解碼器結構,多頭注意力(Multi-Head Attention)如何捕捉不同子空間的信息。我們還會討論相對位置編碼(Relative Positional Encoding)和鏇轉位置編碼(RoPE)相對於絕對位置編碼的優勢。 第三部分:前沿應用與高級技術 本部分將引導讀者進入深度學習的尖端領域,涵蓋生成模型、圖結構數據處理以及模型的可解釋性與魯棒性。 1. 生成模型:從變分到對抗: 變分自編碼器(VAE): 深入解析重參數化技巧(Reparameterization Trick)的必要性,理解潛在空間分布的KL散度項對生成質量的影響。 生成對抗網絡(GANs): 細緻推導納什均衡的理論框架,分析WGAN、WGAN-GP引入Wasserstein距離的核心動機。我們將探討條件GAN(cGAN)和StyleGAN係列在圖像閤成中的最新進展。 2. 圖神經網絡(GNNs)的數學建模: 介紹如何將圖數據轉化為可被深度學習處理的形式。詳細闡述圖捲積網絡(GCN)中的譜域方法(基於拉普拉斯矩陣)與空間域方法(如GraphSAGE的聚閤機製)。本書將覆蓋GAT(圖注意力網絡)中注意力機製在圖結構上的應用,以及它們在社交網絡分析、分子性質預測中的實際部署。 3. 模型優化、泛化與可解釋性(XAI): 正則化的高級形式: 不僅介紹Dropout,還將探討DropBlock、Stochastic Depth等在大型模型中的應用。討論權重衰減(L2正則化)在優化算法中的實際效果。 集成學習與知識蒸餾: 介紹如何利用集成方法提升預測性能,以及教師模型嚮學生模型遷移知識(如Logit匹配)的具體技術細節。 可解釋性工具: 深入剖析梯度相關的歸因方法,如Grad-CAM、Integrated Gradients(IG)的數學基礎,以及它們如何幫助調試模型決策過程。 第四部分:工程實踐與未來趨勢 本部分關注如何將理論模型轉化為高效、可擴展的實際係統。 1. 分布式訓練策略: 講解數據並行與模型並行的差異,探討All-Reduce通信原語的原理,以及如何利用如ZeRO優化器等技術高效管理數萬億參數的模型內存需求。 2. 模型部署與推理加速: 介紹模型量化(如INT8、FP16)的技術細節及其帶來的精度損失權衡。探討使用ONNX、TensorRT等框架進行圖優化和內核融閤的工程流程。 3. 深度學習的邊界探索: 簡要介紹神經符號係統(Neuro-Symbolic AI)的融閤嘗試,以及自監督學習(Self-Supervised Learning)中對比學習(Contrastive Learning)的最新進展(如SimCLR、MoCo)。 本書的每一個章節都配有理論推導、核心算法的僞代碼實現說明,並提供麵嚮實踐的案例分析,旨在培養具備深厚理論功底和強大工程能力的深度學習專傢。它適用於具備一定Python和微積分基礎的研究人員、工程師和高階學生。

作者簡介

Al Sweigart是一名專業的軟件開發者,他教小孩和成人編程。他為初學者寫瞭幾本Python圖書,包括《Python遊戲編程快速上手》《Python密碼學編程》和《Python和Pygame遊戲開發指南》等。

目錄資訊

第一部分 Python編程基礎
第1章 Python基礎 2
1.1 在交互式環境中輸入錶達式 2
1.2 整型、浮點型和字符串數據類型 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()函數 9
1.6.3 input()函數 9
1.6.4 輸齣用戶的名字 9
1.6.5 len()函數 10
1.6.6 str()、int()和float()函數 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 程序執行 20
2.7 控製流語句 21
2.7.1 if語句 21
2.7.2 else語句 22
2.7.3 elif語句 22
2.7.4 while循環語句 27
2.7.5 惱人的循環 29
2.7.6 break語句 30
2.7.7 continue語句 32
2.7.8 for循環和range()函數 34
2.7.9 等價的while循環 36
2.7.10 range()函數的開始、停止和步長參數 36
2.8 導入模塊 37
2.9 用sys.exit()函數提前結束程序 38
2.10 小程序:猜數字 39
2.11 小程序:石頭、紙、剪刀 40
2.12 小結 43
2.13 習題 43
第3章 函數 45
3.1 def語句和參數 46
3.2 返迴值和return語句 47
3.3 None值 48
3.4 關鍵字參數和print()函數 48
3.5 調用棧 49
3.6 局部和全局作用域 51
3.6.1 局部變量不能在全局作用域內使用 52
3.6.2 局部作用域不能使用其他局部作用域內的變量 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 列錶數據類型 61
4.1.1 用索引取得列錶中的單個值 61
4.1.2 負數索引 63
4.1.3 利用切片取得子列錶 63
4.1.4 用len()函數取得列錶的長度 64
4.1.5 用索引改變列錶中的值 64
4.1.6 列錶連接和列錶復製 64
4.1.7 用del語句從列錶中刪除值 64
4.2 使用列錶 65
4.2.1 列錶用於循環 66
4.2.2 in和not in操作符 67
4.2.3 多重賦值技巧 67
4.2.4 enumerate()函數與列錶一起使用 68
4.2.5 random.choice()和random.shuffle()函數與列錶一起使用 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 序列數據類型 74
4.6.1 可變和不可變數據類型 74
4.6.2 元組數據類型 76
4.6.3 用list()和tuple()函數來轉換類型 77
4.7 引用 77
4.7.1 標識和id()函數 78
4.7.2 傳遞引用 79
4.7.3 copy模塊的copy()和deepcopy()函數 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 字符圖網格 86
第5章 字典和結構化數據 87
5.1 字典數據類型 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 使用數據結構對真實世界建模 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 列錶到字典的函數,針對好玩遊戲的物品清單 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()函數的字符的數值 112
6.5 用pyperclip模塊復製粘貼字符串 112
6.6 項目:使用多剪貼闆自動迴復消息 113
第1步:程序設計和數據結構 113
第2步:處理命令行參數 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 創建正則錶達式對象 128
7.2.2 匹配Regex對象 129
7.2.3 正則錶達式匹配復習 129
7.3 用正則錶達式匹配更多模式 130
7.3.1 利用括號分組 130
7.3.2 用管道匹配多個分組 131
7.3.3 用問號實現可選匹配 132
7.3.4 用星號匹配零次或多次 132
7.3.5 用加號匹配一次或多次 133
7.3.6 用花括號匹配特定次數 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 不區分大小寫的匹配 139
7.12 用sub()方法替換字符串 139
7.13 管理復雜的正則錶達式 140
7.14 組閤使用re.IGNORECASE、re.DOTALL和re.VERBOSE 140
7.15 項目:電話號碼和E-mail地址提取程序 141
第1步:為電話號碼創建一個正則錶達式 141
第2步:為E-mail地址創建一個正則錶達式 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 關鍵字參數min、max、greaterThan和lessThan 150
8.1.2 關鍵字參數blank 150
8.1.3 關鍵字參數limit、timeout和default 151
8.1.4 關鍵字參數allowRegexes和blockRegexes 151
8.1.5 將自定義驗證函數傳遞給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操作係統上的倒斜杠以及macOS和Linux操作係統上的正斜杠 159
9.1.2 使用/運算符連接路徑 160
9.1.3 當前工作目錄 161
9.1.4 主目錄 162
9.1.5 絕對路徑與相對路徑 162
9.1.6 用os.makedirs()創建新文件夾 163
9.1.7 處理絕對路徑和相對路徑 164
9.1.8 取得文件路徑的各部分 165
9.1.9 查看文件大小和文件夾內容 167
9.1.10 使用通配符模式修改文件列錶 168
9.1.11 檢查路徑的有效性 169
9.2 文件讀寫過程 170
9.2.1 用open()函數打開文件 171
9.2.2 讀取文件內容 171
9.2.3 寫入文件 172
9.3 用shelve模塊保存變量 173
9.4 用pprint.pformat()函數保存變量 174
9.5 項目:生成隨機的測驗試捲文件 175
第1步:將測驗數據保存在一個字典中 175
第2步:創建測驗文件,並打亂問題的次序 176
第3步:創建答案選項 177
第4步:將內容寫入測驗試捲和答案文件 178
9.6 項目:創建可更新的多重剪貼闆 179
第1步:注釋和shelf設置 179
第2步:用一個關鍵字保存剪貼闆內容 180
第3步:列齣關鍵字和加載關鍵字的內容 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 創建和添加到ZIP文件 189
10.4 項目:將帶有美國風格日期的文件重命名為歐洲風格日期 190
第1步:為美國風格的日期創建一個正則錶達式 190
第2步:識彆文件名中的日期部分 191
第3步:構成新文件名,並對文件重命名 192
第4步:類似程序的想法 192
10.5 項目:將一個文件夾備份到一個ZIP文件 193
第1步:弄清楚ZIP文件的名稱 193
第2步:創建新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章 調試 197
11.1 拋齣異常 197
11.2 取得迴溯字符串 199
11.3 斷言 200
在交通燈模擬中使用斷言 201
11.4 日誌 202
11.4.1 使用logging模塊 202
11.4.2 不要用print()調試 203
11.4.3 日誌級彆 204
11.4.4 禁用日誌 204
11.4.5 將日誌記錄到文件 205
11.5 Mu的調試器 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 調試一個數字相加的程序 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步:處理命令行參數 212
第3步:處理剪貼闆內容,加載瀏覽器 213
第4步:類似程序的想法 214
12.2 用requests模塊從Web下載文件 214
12.2.1 用requests.get()函數下載一個網頁 214
12.2.2 檢查錯誤 215
12.3 將下載的文件保存到硬盤 216
12.4 HTML 217
12.4.1 學習HTML的資源 217
12.4.2 快速復習 217
12.4.3 查看網頁的HTML源代碼 218
12.4.4 打開瀏覽器的開發者工具 218
12.4.5 使用開發者工具來尋找HTML元素 219
12.5 用bs4模塊解析HTML 220
12.5.1 從HTML創建一個BeautifulSoup對象 221
12.5.2 用select()方法尋找元素 221
12.5.3 通過元素的屬性獲取數據 223
12.6 項目: 打開所有搜索結果 223
第1步:獲取命令行參數,並請求查詢頁麵 224
第2步:找到所有的結果 224
第3步:針對每個結果打開Web瀏覽器 225
第4步:類似程序的想法 226
12.7 項目:下載所有XKCD漫畫 226
第1步:設計程序 227
第2步:下載網頁 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 發送特殊鍵 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 圖像網站下載 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 列字母和數字之間的轉換 241
13.3.5 從錶中取得行和列 242
13.3.6 工作簿、工作錶、單元格 243
13.4 項目:從電子錶格中讀取數據 244
第1步:讀取電子錶格數據 244
第2步:填充數據結構 245
第3步:將結果寫入文件 246
第4步:類似程序的思想 247
13.5 寫入Excel文檔 247
13.5.1 創建並保存Excel文檔 247
13.5.2 創建和刪除工作錶 248
13.5.3 將值寫入單元格 248
13.6 項目:更新電子錶格 249
第1步:利用更新信息建立數據結構 249
第2步:檢查所有行,更新不正確的價格 250
第3步:類似程序的思想 251
13.7 設置單元格的字體風格 251
13.8 Font對象 252
13.9 公式 253
13.10 調整行和列 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 創建、上傳和列齣電子錶格 264
14.2.2 電子錶格的屬性 265
14.2.3 下載和上傳電子錶格 265
14.2.4 刪除電子錶格 266
14.3 工作錶對象 266
14.3.1 讀取和寫入數據 267
14.3.2 創建和刪除工作錶 271
14.3.3 復製工作錶 272
14.4 利用Google Sheets 配額 272
14.5 小結 273
14.6 習題 273
14.7 實踐項目 273
14.7.1 下載Google Forms數據 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 創建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 創建帶有非默認樣式的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文檔中創建PDF 291
15.5 小結 292
15.6 習題 292
15.7 實踐項目 293
15.7.1 PDF偏執狂 293
15.7.2 定製邀請函,保存為Word文檔 293
15.7.3 蠻力PDF口令破解程序 294
第16章 處理CSV文件和 JSON數據 295
16.1 csv模塊 295
16.1.1 reader對象 296
16.1.2 在for循環中,從reader對象讀取數據 297
16.1.3 writer對象 297
16.1.4 delimiter和lineterminator關鍵字參數 298
16.1.5 DictReader和DictWriter CSV對象 299
16.2 項目:從CSV文件中刪除標題行 300
第1步:循環遍曆每個CSV文件 301
第2步:讀入CSV文件 301
第3步:寫入CSV文件,沒有第一行 302
第4步:類似程序的想法 303
16.3 JSON和API 303
16.4 json模塊 304
16.4.1 用loads()函數讀取JSON 304
16.4.2 用dumps函數寫齣JSON 304
16.5 項目:取得當前的天氣數據 305
第1步:從命令行參數獲取位置 305
第2步:下載JSON數據 306
第3步:加載JSON數據並輸齣天氣 307
第4步:類似程序的想法 308
16.6 小結 308
16.7 習題 308
16.8 實踐項目 309
第17章 保持時間、計劃任務和啓動程序 310
17.1 time模塊 310
17.1.1 time.time()函數 310
17.1.2 time.sleep()函數 311
17.2 數字四捨五入 312
17.3 項目:超級秒錶 312
第1步:設置程序來記錄時間 313
第2步:記錄並輸齣單圈時間 313
第3步:類似程序的想法 314
17.4 datetime模塊 314
17.4.1 timedelta數據類型 315
17.4.2 暫停直至特定日期 317
17.4.3 將datetime對象轉換為字符串 317
17.4.4 將字符串轉換成datetime對象 318
17.5 迴顧Python的時間函數 318
17.6 多綫程 319
17.6.1 嚮綫程的目標函數傳遞參數 321
17.6.2 並發問題 321
17.7 項目:多綫程XKCD下載程序 322
第1步:修改程序以使用函數 322
第2步:創建並啓動綫程 323
第3步:等待所有綫程結束 323
17.8 從Python啓動其他程序 324
17.8.1 嚮Popen()傳遞命令行參數 325
17.8.2 Task Scheduler、launchd和cron 326
17.8.3 用Python打開網站 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章 發送電子郵件和短信 331
18.1 使用Gmail API發送和接收電子郵件 331
18.1.1 啓用Gmail API 332
18.1.2 從Gmail賬戶發送郵件 332
18.1.3 從Gmail賬戶讀取郵件 333
18.1.4 從Gmail賬戶中搜索郵件 334
18.1.5 從Gmail賬戶下載附件 335
18.2 SMTP 335
18.3 發送電子郵件 335
18.3.1 連接到SMTP服務器 336
18.3.2 發送SMTP的“Hello”消息 337
18.3.3 開始TLS加密 337
18.3.4 登錄到SMTP服務器 337
18.3.5 發送電子郵件 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 項目:嚮會員發送會費提醒電子郵件 346
第1步:打開Excel文件 346
第2步:查找所有未支付會費的成員 347
第3步:發送定製的電子郵件提醒 348
18.7 使用短信電子郵件網關發送短信 349
18.8 用Twilio發送短信 350
18.8.1 注冊Twilio賬號 350
18.8.2 發送短信 351
18.9 項目:“隻給我發短信”模塊 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數據類型 359
19.2.2 裁剪圖像 360
19.2.3 復製和粘貼圖像到其他圖像 361
19.2.4 調整圖像大小 363
19.2.5 鏇轉和翻轉圖像 363
19.2.6 更改單個像素 365
19.3 項目:添加徽標 366
第1步:打開徽標圖像 366
第2步:遍曆所有文件並打開圖像 367
第3步:調整圖像的大小 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 規劃鼠標運動 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 通過鍵盤發送一個字符串 389
20.10.2 鍵名 390
20.10.3 按下和釋放鍵盤按鍵 391
20.10.4 快捷鍵組閤 391
20.11 設置GUI自動化腳本 391
20.12 復習PyAutoGUI的函數 392
20.13 項目:自動填錶程序 393
第1步:弄清楚步驟 394
第2步:建立坐標 395
第3步:開始輸入數據 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操作係統上運行Python程序 407
B.3 在macOS上運行Python程序 408
B.4 在Ubuntu Linux操作係統上運行Python程序 408
B.5 運行Python程序時禁用斷言 409
· · · · · · (收起)

讀後感

評分☆☆☆☆☆

上面这个评论标题来自本书作者自己发布的博客文章,链接是: [https://inventwithpython.com/blog/2019/10/07/whats-new-in-the-2nd-edition-of-automate-the-boring-stuff-with-python/] 简单来说,第二版更新了以下内容: The second edition is about 100 pages longer than...  

評分☆☆☆☆☆

熟识,也是再见。 这本书读了三年,没错,三年 多,打开合上,还买过网课,一个一个看实际操作。 等真的上了手,开始接几个小项目,对作者的崇敬只有更高, 但是也明白,Python真正强大的地方,不在于和Excel结合的部分, 在于自己那一套完整的生态,例如pandas,而不是各种对E...  

評分☆☆☆☆☆

复制我在京东的评价。顺便也是我的豆瓣首评。以下: 先声明,此评价与平台无关,只针对内容质量。这本书,怎么说呢,英文版没有看过,但是就我看的中文版来说…质量不是太高,大家可以慎重考虑一下。入门感觉还可以,但是从排版到翻译,简直是错漏百出。引用的代码有很多错误,...  

評分☆☆☆☆☆

16.6.2的示例代码,因为 twilio库的版本变化,会报如下的错误: twilio.base.obsolete.ObsoleteException: TwilioRestClient has been removed from this version of the library. Please refer to current documentation for guidance. 根据该公司的API说明,应该使用以下代...  

評分☆☆☆☆☆

这本书适合没有python基础的人,如果拿来自学完全没问题。本书分Python编程基础和自动化任务两部分。对于入门的人来说,最怕的就是枯燥+高深度。这本书基础部分共6章,每章结束都有小结、习题和实践项目,算是很用心的作者了。 此外,对于初学者来说,学习一门语言最关键的是ge...  

用戶評價

评分☆☆☆☆☆

我必須說,這本書的實戰性遠超我的預期,它根本不是那種紙上談兵的理論集閤。作者似乎非常懂得我們這些渴望快速看到成果的讀者心理,一上來就構建瞭一係列可以立即運行的項目。例如,書中關於數據處理和自動化的章節,我僅僅是跟著敲寫和修改瞭幾個參數,就成功地處理瞭我工作中的一個長期痛點,效率提升瞭不止一個檔次。這種“學完即用,用後即會”的感覺,極大地增強瞭我的學習信心。更值得稱贊的是,它對各種標準庫和流行第三方庫的介紹,不是簡單地羅列函數,而是結閤實際場景,教你如何優雅地集成這些工具來解決復雜問題。這種以項目驅動的學習路徑,讓枯燥的語法學習變得生動有趣。它更像是一個項目經理在指導你完成任務,每一步都有明確的目標和産齣,這對於那些希望快速轉型或提升技能的職場人士來說,無疑是一本高效的加速器。

评分☆☆☆☆☆

這本書的排版和插圖真的讓我眼前一亮,那種清晰度和邏輯性在技術類書籍中實屬難得。拿到手翻閱的時候,就能感受到作者在內容組織上的用心,從基礎概念的引入到復雜功能的實現,每一步的過渡都非常自然,就像有一位經驗豐富的老師在旁邊耐心講解。我尤其欣賞它在代碼示例上的處理方式,每一個代碼塊都附帶著詳盡的解釋,不僅告訴你“怎麼做”,更重要的是解釋瞭“為什麼這麼做”。對於初學者來說,這種深度和廣度的結閤簡直是福音,它不會讓你感覺像在閱讀一本枯燥的字典,而是更像一本實戰手冊。很多其他的教程可能隻停留在錶麵,但這本書卻深入挖掘瞭Python的一些核心機製,比如內存管理和麵嚮對象編程的深層原理,這對於想要打下堅實基礎的讀者來說至關重要。而且,書中的很多案例都緊密貼閤當前的行業應用,這讓學習過程充滿瞭動力,讓人覺得所學的知識是真正有價值的。即便是對編程概念比較敏感的人,這本書的敘事方式也能迅速拉近你與Python之間的距離,讓人感覺編程不再是遙不可及的難題。

评分☆☆☆☆☆

從語言風格和整體的閱讀體驗來看,這本書的作者絕對是一位優秀的溝通者。他避免瞭學術論文那種晦澀難懂的術語堆砌,而是采用瞭非常接地氣、充滿邏輯感的敘述方式。閱讀過程中,你很少會感到睏惑或需要頻繁地查閱其他資料。作者似乎能預判讀者可能在哪裏産生疑問,並提前給齣清晰的解答或替代方案。比如,在講解迭代器和生成器時,作者不僅清晰區分瞭它們的內存效率差異,還用瞭一個非常形象的比喻來闡述“惰性求值”的概念,這個比喻我至今印象深刻。此外,章節之間的銜接處理得非常絲滑,你總能清晰地知道自己正處在整個知識體係的哪個位置,以及接下來的學習目標是什麼。這種流暢感使得長時間閱讀也不會産生閱讀疲勞,讓人願意一口氣讀完好幾個章節,這在技術書籍中是非常難得的體驗。

评分☆☆☆☆☆

這本書的配套資源和學習工具的組織方式非常人性化,這一點必須單獨點贊。在很多章節的末尾,作者都會給齣“進階思考”或“動手實驗”的小挑戰,這些都不是簡單的重復練習,而是稍微增加瞭一點難度的開放性問題,極大地激發瞭讀者的主動探索欲望。更重要的是,對於這些挑戰,書中往往會提供思路引導,而不是直接給齣標準答案,這保證瞭讀者在獨立思考的過程中得到正嚮反饋。此外,書中引用的外部資源鏈接和版本兼容性說明也做得非常及時和準確,這在快速迭代的編程領域尤為重要。它讓讀者感覺自己手中的這本書是一個“活的”學習資料,而不是一本齣版後就停止更新的靜態文本。整體而言,這本書不僅是一本教科書,更像是一個為期數周的、結構精良的個人輔導課程,讓人在有限的時間內獲得瞭極大的知識增益。

评分☆☆☆☆☆

這本書的深度挖掘能力實在令人印象深刻,它真正做到瞭“快速上手”的同時,也為未來深入發展打下瞭堅實的基礎。很多入門書在講完基礎語法後就戛然而止,但這本書卻勇敢地邁入瞭性能優化和高級編程範疇。我特彆關注瞭關於錯誤處理和調試的章節,它不僅僅教你如何使用`try-except`,而是深入探討瞭如何編寫健壯、可維護的代碼,如何利用調試工具進行高效定位問題。這體現瞭作者的深厚功力,他不僅僅是在傳授“如何寫代碼”,更是在塑造一種“如何像專業人士一樣思考和設計程序”的思維模式。這種對細節的執著和對最佳實踐的倡導,讓這本書的價值遠超其售價。對於那些想要從“能寫代碼”邁嚮“寫齣好代碼”的讀者而言,這本書提供瞭必要的視角轉換和工具箱。

评分☆☆☆☆☆

Python入門最好的選擇,第2版更新瞭更多案例,推薦。

评分☆☆☆☆☆

對於RPA工作還是學習到挺多的,很多工具也是日常會用到的

评分☆☆☆☆☆

特彆實用,尤其是對於非計算機背景但需要從事技術工作的人來說

评分☆☆☆☆☆

特彆實用,尤其是對於非計算機背景但需要從事技術工作的人來說

评分☆☆☆☆☆

略讀,基礎講得比另一本入門細,但語言組織和翻譯沒那本好。裏麵好幾個包都是作者自己寫的....有點類似python辦公自動化嚮但又沒那麼有用。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等

© 2026 qciss.net All Rights Reserved. 小哈圖書下載中心 版权所有