热门搜索: 中考 高考 考试 开卷17
服务电话 024-23945002/96192
 

PYTHON编程快速上手——让烦琐工作自动化(第3版)

编号:
wx1204011666
销售价:
¥66.98
(市场价: ¥109.80)
赠送积分:
67
数量:
   
商品介绍

这是一本面向初学者的 Python 编程实用指南,用“讲故事 + 做项目”的方式带你走进Python 世界。
本书的前半部分(第 1~8 章)用浅显易懂的语言将 Python 基础知识、语法、数据结构等串起来,后半部分(第 9~24 章)则把这些概念直接投入真实场景,让 Python 程序替你批量整理文件夹、填报电子表格、抓取网页数据、生成 PDF 报告、定时发送邮件,甚至让计算机“开口说话”。本书的案例聚焦日常痛点,会先讲思路,再给代码,并在实践项目中分步骤拆解和演
示编程实践,非常有助于读者边学边上手。值得一提的是,本书还结合大语言模型(LLM)给出了一些更加巧妙的实践技巧。
无论你是想要轻松学习编程的入门级读者,还是想借助程序自动化处理事务的非专业人士,这本久经考验的 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 基础 3

1.1 在交互式环境中输入表达式 3

1.2 整型、浮点型和字符串数据类型 7

1.3 字符串的拼接和复制 8

1.4 在变量中存储值 9

1.4.1 赋值语句 9

1.4.2 变量名 10

1.5 编写第 一个程序 11

1.6 程序详解 13

1.6.1 注释 13

1.6.2 函数 print() 13

1.6.3 函数 input() 14

1.6.4 问候语 14

1.6.5 函数 len() 14

1.6.6 函数 str()、int() 和 float() 15

1.6.7 函数 type() 18

1.6.8 函数 round() 和 abs() 19

1.7 计算机如何使用二进制数存储数据 20

1.8 小结 22

第 2 章 if-else 和流程控制 23

2.1 布尔值 24

2.2 比较运算符 24

2.3 布尔运算符 26

2.4 混合使用布尔运算符和比较运算符 28

2.5 流程控制的组成部分 28

2.5.1 条件 29

2.5.2 代码块 29

2.5.3 程序执行 29

2.6 流程控制语句 30

2.6.1 if 语句 30

2.6.2 else 语句 31

2.6.3 elif 语句 32

2.7 小程序 1:反转日 36

2.8 小程序 2:不诚实的容量计算器 37

2.9 小结 39

第 3 章 循环 41

3.1 while 循环语句 41

3.1.1 一个恼人的 while 循环 43

3.1.2 break 语句 44

3.1.3 continue 语句 46

3.2 for 循环和函数 range() 49

3.2.1 等价的 while 循环 51

3.2.2 range() 的参数 51

3.3 导入模块 52

3.4 使用 sys.exit() 提前结束程序 53

3.5 小程序 3:猜数 54

3.6 小程序 4:剪刀、石头、布 56

3.7 小结 60

第 4 章  函数 61

4.1 创建函数 61

4.2 实参和形参 62

4.3 返回值和 return 语句 64

4.4 None 值 65

4.5 具名形参 65

4.6 调用栈 67

4.7 局部作用域和全局作用域 69

4.7.1 作用域规则 70

4.7.2 global 语句 72

4.7.3 确定变量是全局变量还是局部变量 73

4.8 异常处理 74

4.9 小程序 5:之字形运动 76

4.10 小程序 6:绘制尖峰 78

4.11 小结 80

第 5 章 调试 81

5.1 引发异常 81

5.2 断言 83

5.3 日志 84

5.3.1 logging 模块 84

5.3.2 日志文件 86

5.3.3 一种糟糕的做法:使用 print() 进行调试 86

5.3.4 日志等级 87

5.3.5 禁用日志 87

5.4 Mu 的调试器 88

5.4.1 调试一个执行加法运算的程序 89

5.4.2 设置断点 91

5.5 小结 92

第 6 章 列表 93

6.1 列表数据类型 93

6.1.1 索引 94

6.1.2 负数索引 95

6.1.3 切片 95

6.1.4 函数 len() 96

6.1.5 更新列表中的值 96

6.1.6 拼接和复制 97

6.1.7 del 语句 97

6.2 使用列表 97

6.2.1 for 循环与列表 99

6.2.2 运算符 in 和 not in 100

6.2.3 多重赋值技巧 100

6.2.4 列表元素枚举 101

6.2.5 随机选择和随机排序 101

6.3 增强赋值运算符 102

6.4 方法 103

6.4.1 查找值 103

6.4.2 添加值 104

6.4.3 删除值 105

6.4.4 对值进行排序 106

6.4.5 以相反的顺序排列值 107

6.5 短路的布尔运算符 108

6.6 小程序 7:列表版魔力八号球 109

6.7 序列数据类型 109

6.7.1 可变数据类型和不可变数据类型 110

6.7.2 元组数据类型 111

6.7.3 转换为列表和元组 112

6.8 引用 113

6.8.1 实参 114

6.8.2 函数 copy() 和 deepcopy() 115

6.9 小程序 8:黑客帝国屏保 116

6.10 小结 119

第 7 章 字典与数据结构化 121

7.1 字典数据类型 121

7.1.1 比较字典和列表 122

7.1.2 返回键和值 124

7.1.3 检查指定的键是否存在 125

7.1.4 设置默认值 126

7.2 使用数据结构对实物建模 127

7.3 项目 1:交互式国际象棋棋盘模拟器 129

7.3.1 第 1 步:初始化 130

7.3.2 第 2 步:创建棋盘模板 130

7.3.3 第 3 步:显示棋盘的当前状态 131

7.3.4 第 4 步:操作棋盘 133

7.4 嵌套的字典和列表 135

7.5 小结 136


第 8 章  字符串与文本编辑 137

8.1 使用字符串 137

8.1.1 字符串字面量 137

8.1.2 索引和切片 140

8.1.3 运算符 in 和 not in 141

8.2 f- 字符串 142

8.3 f- 字符串的替代方法:%s 和 format() 142

8.4 非常有用的字符串方法 143

8.4.1 修改大小写 143

8.4.2 检查字符串的特征 145

8.4.3 检查字符串的开头和结尾部分 147

8.4.4 字符串合并和拆分 147

8.4.5 文本对齐和居中 148

8.4.6 删除空白 149

8.5 字符的数值码点 150

8.6 复制并粘贴字符串 150

8.7 项目 2:在维基百科文章中添加项目符号 152

8.7.1 第 1 步:从剪贴板复制并粘贴 152

8.7.2 第 2 步:按行拆分文本 153

8.7.3 第 3 步:合并修改后的行 154

8.8 小程序 9:儿童黑话 154

8.9 小结 158

第二部分 任务自动化

第 9 章 使用正则表达式匹配文本模式 161

9.1 在不使用正则表达式的情况下查找文本模式 162

9.2 使用正则表达式查找文本模式 163

9.3 正则表达式语法 165

9.3.1 使用括号进行分组 165

9.3.2 使用转义字符 166

9.3.3 匹配可替代编组 166

9.3.4 返回所有的匹配内容 167

9.4 修饰符语法:要匹配什么字符 168

9.4.1 使用字符集和反向字符集 168

9.4.2 使用简写字符集 169

9.4.3 使用句点字符匹配任何字符 169

9.4.4 注意要匹配的字符是否正确 170

9.5 量词语法:匹配多少个修饰符 170

9.5.1 匹配可选模式 170

9.5.2 匹配零个或多个修饰符 171

9.5.3 匹配一个或多个修饰符 172

9.5.4 匹配指定数量的修饰符 172

9.6 贪婪匹配和非贪婪匹配 173

9.6.1 匹配任何内容 174

9.6.2 匹配换行符 175

9.7 在字符串开头和末尾查找匹配的内容 175

9.8 匹配时不区分大小写 177

9.9 替换字符串 178

9.10 使用详细模式管理复杂的正则表达式 178

9.11 组合使用 re.IGNORECASE、re.DOTALL和 re.VERBOSE 179

9.12 项目 3:从大型文档中提取联系人信息 179

9.12.1 第 1 步:创建用于匹配电话号码的正则表达式 180

9.12.2 第 2 步:创建用于匹配电子邮件地址的正则表达式 181

9.12.3 第 3 步:找出剪贴板文本中所有匹配的内容 182

9.12.4 第 4 步:将匹配的内容合并为单个字符串 182

9.12.5 文本模式识别的其他用途 183

9.13 Humre:一个用于提高正则表达式可读性的模块 184

9.14 小结 188

第 10 章 读写文件 189

10.1 文件和文件路径 189

10.1.1 标准化路径分隔符 190

10.1.2 合并路径 191

10.1.3 访问当前工作目录 192

10.1.4 访问主目录 193

10.1.5 指定绝对路径与相对路径 193

10.1.6 新建文件夹 194

10.1.7 处理绝对路径和相对路径 195

10.1.8 获取文件路径的组成部分 196

10.1.9 获取文件大小和时间戳 197

10.1.10 使用 glob 模式查找文件 198

10.1.11 检查路径是否有效 199

10.2 文件读写过程 200

10.2.1 打开文件 201

10.2.2 读取文件内容 202

10.2.3 写入文件 203

10.2.4 使用 with 语句 204

10.3 使用 shelve 模块保存变量 204

10.4 项目 4:生成随机的考卷文件 206

10.4.1 第 1 步:将测验数据存储在字典中 206

10.4.2 第 2 步:创建用于存储测验数据的文件 207

10.4.3 第 3 步:创建选项 208

10.4.4 第 4 步:将内容写入文件 209

10.5 小结 210

第 11 章 组织文件 213

11.1 shutil 模块 213

11.1.1 复制文件和文件夹 214

11.1.2 移动和重命名文件和文件夹 215

11.1.3 永久性删除文件和文件夹 215

11.1.4 移入回收站 216

11.2 遍历目录树 217

11.3 使用 zipfile 模块压缩文件 219

11.3.1 创建和添加到 ZIP 文件 219

11.3.2 读取 ZIP 文件 220

11.3.3 解压缩 ZIP 文件 221

11.4 项目 5:将文件夹备份到 ZIP 文件中 221

11.4.1 第 1 步:确定 ZIP 文件的名称 222

11.4.2 第 2 步:新建 ZIP 文件 223

11.4.3 第 3 步:遍历目录树 223

11.4.4 使用同样的技巧编写类似程序 224

11.5 小结 224

第 12 章 设计并部署命令行程序 227

12.1 程序的别名 227

12.2 使用终端 228

12.2.1 命令 cd、pwd、dir 和 ls 229

12.2.2 环境变量 PATH 230

12.2.3 编辑环境变量 PATH 231

12.2.4 命令 which 和 where 232

12.3 虚拟环境 232

12.4 使用 pip 安装 Python 包 234

12.5 有自我认知的 Python 程序 235

12.6 基于文本的程序设计 236

12.6.1 简短的命令名 237

12.6.2 命令行参数 238

12.6.3 剪贴板 I/O 238

12.6.4 使用 Bext 显示五颜六色的文本 239

12.6.5 清空终端窗口 240

12.6.6 声音和文本通知 240

12.7 小程序 10:暴风雪 241

12.8 使用 PyMsgBox 弹出消息框 243

12.9 部署 Python 程序 243

12.9.1 Windows 243

12.9.2 macOS 245

12.9.3 Ubuntu Linux 245

12.10 小程序 11:复制当前工作目录 247

12.10.1 Windows 248

12.10.2 macOS 248

12.10.3 Ubuntu Linux 249

12.11 小程序 12:剪贴板记录程序 249

12.11.1 Windows 251

12.11.2 macOS 252

12.11.3 Ubuntu Linux 252

12.12 使用 PyInstaller 编译 Python 程序 253

12.13 小结 254

第 13 章 Web 内容爬取 255

13.1 HTTP 和 HTTPS 255

13.2 项目 6:使用 webbrowser 模块运行程序 256

13.2.1 第 1 步:确定 URL 256

13.2.2 第 2 步:处理命令行参数 257

13.2.3 第 3 步:获取剪贴板中的内容 258

13.2.4 使用 webbrowser 模块编写类似程序 259

13.3 使用 requests 模块下载网络文件 259

13.3.1 下载网页 259

13.3.2 检查错误 260

13.3.3 将下载的文件保存到硬盘 261

13.4 访问天气 API 262

13.4.1 城市搜索 264

13.4.2 获取当前天气 265

13.4.3 获取天气预报 265

13.4.4 探索 API 265

13.5 理解 HTML 266

13.5.1 探索 HTML 格式 266

13.5.2 查看网页的源代码 266

13.5.3 打开浏览器的开发者工具 267

13.5.4 查找 HTML 元素 268

13.6 使用 Beautiful Soup 解析 HTML 270

13.6.1 创建 Beautiful Soup 对象 271

13.6.2 查找元素 271

13.6.3 获取元素属性中的数据 273

13.7 项目 7:打开所有搜索结果 274

13.7.1 第 1 步:获取搜索结果页面 274

13.7.2 第 2 步:查找所有搜索结果 275

13.7.3 第 3 步:在不同的浏览器选项卡中打开每个搜索结果 275

13.7.4 使用同样的技巧编写类似程序 276

13.8 项目 8:下载 XKCD 漫画 276

13.8.1 第 1 步:设计程序 277

13.8.2 第 2 步:下载网页 278

13.8.3 第 3 步:找到并下载漫画图像 279

13.8.4 第 4 步:保存图像并找到上一张漫画 280

13.8.5 用同样的技巧编写类似程序 281

13.9 使用 Selenium 控制浏览器 282

13.9.1 启动 Selenium 控制的浏览器 282

13.9.2 单击浏览器中的按钮 283

13.9.3 查找页面上的元素 283

13.9.4 单击页面上的元素 285

13.9.5 填写并提交表单 285

13.9.6 发送特殊键 286

13.10 使用 Playwright 控制浏览器 287

13.10.1 启动 Playwright 控制的浏览器 287

13.10.2 单击浏览器中的按钮 288

13.10.3 查找页面上的元素 288

13.10.4 单击页面上的元素 290

13.10.5 填写并提交表单 292

13.10.6 发送特殊键 292

13.11 小结 293

第 14 章 Excel 电子表格 295

14.1 读取 Excel 文件 296

14.1.1 打开工作簿 297

14.1.2 获取工作簿中的工作表 297

14.1.3 获取工作表中的单元格 297

14.1.4 在列的字母编号和数字编号之间进行转换 299

14.1.5 获取行和列 300

14.2 项目 9:收集人口普查统计数据 302

14.2.1 第 1 步:读取电子表格数据 302

14.2.2 第 2 步:填充数据结构 303

14.2.3 第 3 步:将结果写入文件 305

14.2.4 使用同样的技巧编写类似程序 305

14.3 写入 Excel 文档 306

14.3.1 创建并保存 Excel 文件 306

14.3.2 创建和删除工作表 307

14.3.3 在单元格中写入值 307

14.4 项目 10:更新电子表格 308

14.4.1 第 1 步:设计用于存储正确价格信息的数据结构 309

14.4.2 第 2 步:检查所有行并更正错误价格 310

14.4.3 使用同样的技巧编写类似程序 310

14.5 设置单元格的字体样式 310

14.6 公式 312

14.7 调整行和列 314

14.7.1 设置行高和列宽 314

14.7.2 合并和拆分单元格 315

14.7.3 冻结窗格 316

14.8 图表 317

14.9 小结 318

第 15 章 Google Sheets 319

15.1 准备工作 319

15.1.1 新建一个 Google Cloud 项目 320

15.1.2 启用 Google Sheets API 和 Google Drive API 320

15.1.3 配置 OAuth 许可界面 320

15.1.4 创建凭证 321

15.1.5 使用凭证文件登录 321

15.1.6 撤销凭证文件 322

15.2 Spreadsheet 对象 322

15.2.1 创建、上传和列出电子表格 323

15.2.2 访问电子表格的属性 324

15.2.3 下载和上传电子表格 325

15.2.4 删除电子表格 326

15.3 Sheet 对象 326

15.3.1 读写数据 327

15.3.2 创建、移动和删除工作表 332

15.3.3 复制工作表 333

15.4 Google Forms 334

15.5 项目 11:虚构的区块链加密货币骗局 334

15.5.1 第 1 步:审计区块链 335

15.5.2 第 2 步:实施交易 337

15.6 Google Sheets 配额 338

15.7 小结 338

第 16 章 SQLite 数据库 341

16.1 比较电子表格和数据库 341

16.2 比较 SQLite 和其他 SQL 数据库 344

16.3 创建数据库和表 344

16.3.1 连接到数据库 345

16.3.2 创建表 346

16.3.3 定义数据类型 346

16.3.4 列出表和列 347

16.4 数据库操作 CRUD 348

16.4.1 在数据库中插入数据 349

16.4.2 从数据库中读取数据 350

16.4.3 更新数据库中的数据 356

16.4.4 删除数据库中的数据 357

16.5 回滚事务 357

16.6 备份数据库 358

16.7 修改和删除表 359

16.8 使用外键连接多个表 360

16.9 内存数据库及其备份 362

16.10 复制数据库 363

16.11 SQLite 命令行工具 364

16.12 小结 365


第 17 章  PDF 文档和 Word文档 367

17.1 PDF 文档 367

17.1.1 提取文本 367

17.1.2 使用 AI 做后期处理 369

17.1.3 提取图像 370

17.1.4 使用既有 PDF 页面创建 PDF 文档 371

17.2 项目 12:将众多 PDF 文档中的部分页面合并为单个 PDF 文档 377

17.2.1 第 1 步:找出所有的 PDF 文件 378

17.2.2 第 2 步:打开每个 PDF 文件 379

17.2.3 第 3 步:保存结果 379

17.2.4 使用同样的技巧编写类似程序 380

17.3 Word 文档 380

17.3.1 读取 Word 文档 381

17.3.2 获取 .docx 文件中的所有文本 381

17.3.3 设置 Paragraph 和 Run 对象的样式 382

17.3.4 设置 Run 对象的属性 383

17.3.5 写入 Word 文档 385

17.3.6 添加标题 387

17.3.7 添加软换行符和换页符 388

17.3.8 添加图片 389

17.4 小结 389

第 18 章 CSV、JSON 和 XML文件 391

18.1 CSV 格式 391

18.1.1 读取 CSV 文件 392

18.1.2 使用 for 循环访问数据 393

18.1.3 写入 CSV 文件 394

18.1.4 将制表符(而不是逗号)用作分隔符 395

18.1.5 处理标题行 396

18.2 项目 13:删除 CSV 文件中的标题行 398

18.2.1 第 1 步:遍历每个文件 398

18.2.2 第 2 步:读取文件 399

18.2.3 第 3 步:写入新的 CSV 文件 400

18.2.4 使用同样的技巧编写类似程序 401

18.3 用途广泛的纯文本格式 401

18.3.1 JSON 402

18.3.2 XML 405

18.4 小结 411

第 19 章 记录时间、调度任务和启动程序 413

19.1 time 模块 413

19.1.1 返回 UNIX 纪元时间戳 413

19.1.2 让程序暂停 415

19.2 项目 14:超级秒表 415

19.2.1 第 1 步:为计时做准备 416

19.2.2 第 2 步:记录并显示每个阶段的时长 416

19.2.3 使用同样的技巧编写类似程序 417

19.3 datetime 模块 417

19.3.1 表示时间段 419

19.3.2 暂停到特定日期 420

19.3.3 将 datetime 对象转换为字符串 421

19.3.4 将字符串转换为 datetime 对象 422

19.4 在 Python 程序中启动其他程序 423

19.4.1 向进程传递命令行参数 426

19.4.2 接收来自外部命令的文本输出 426

19.4.3 运行任务调度器、launchd 和 cron 427

19.4.4 使用默认应用程序打开文件 427

19.5 项目 15:简单的倒计时程序 428

19.5.1 第 1 步:倒计时 428

19.5.2 第 2 步:播放音频文件 428

19.5.3 使用同样的技巧编写类似程序 429

19.6 小结 429

第 20 章 发送电子邮件、短信和通知 431

20.1 Gmail API 431

20.1.1 启用 Gmail API 432

20.1.2 发送邮件 432

20.1.3 读取邮件 433

20.1.4 搜索邮件 434

20.1.5 下载附件 435

20.2 SMS Email 网关 435

20.3 通知 437

20.3.1 发送通知 437

20.3.2 传输元数据 438

20.3.3 接收通知 438

20.4 小结 440

第 21 章 绘制图形和操作图像 441

21.1 计算机图像基础 441

21.1.1 颜色和 RGBA 值 441

21.1.2 坐标和矩形元组 443

21.2 使用 Pillow 操作图像 444

21.2.1 使用数据类型 Image 445

21.2.2 裁剪图像 446

21.2.3 将图像粘贴到其他图像中 447

21.2.4 调整图像大小 450

21.2.5 旋转和翻转图像 451

21.2.6 修改像素 453

21.3 项目 16:添加徽标 454

21.3.1 第 1 步:载入徽标图像 455

21.3.2 第 2 步:遍历所有的文件 456

21.3.3 第 3 步:调整图像大小 456

21.3.4 第 4 步:添加徽标并保存所做的修改 457

21.3.5 使用同样的技巧编写类似程序 459

21.4 在图像上绘画 459

21.4.1 形状 459

21.4.2 文本 461

21.5 使用剪贴板复制并粘贴图像 462

21.6 使用 Matplotlib 绘图 463

21.6.1 折线图和散点图 463

21.6.2 条形图和饼图 465

21.6.3 其他图表元素 467

21.7 小结 469

第 22 章 识别图像中的文本 471

22.1 安装 Tesseract 和 PyTesseract 471

22.1.1 Windows 471

22.1.2 macOS 472

22.1.3 Linux 472

22.1.4 安装 PyTesseract 472

22.2 OCR 基础知识 472

22.2.1 预处理图像 473

22.2.2 使用大语言模型更正错误 474

22.3 识别非英语文本 476

22.4 扫描器应用程序 NAPS2 477

22.4.1 安装并设置 NAPS2 477

22.4.2 在 Python 程序中运行 NAPS2 477

22.4.3 指定输入 478

22.5 小结 479

第 23 章 控制键盘和鼠标 481

23.1 在 macOS 系统中将程序设置为无障碍的 482

23.2 从故障中恢复 482

23.2.1 暂停和故障恢复措施 482

23.2.2 注销 482

23.3 控制鼠标移动 482

23.3.1 移动鼠标 484

23.3.2 获取鼠标的当前位置 484

23.4 控制鼠标交互 485

23.4.1 单击 485

23.4.2 拖曳 485

23.4.3 滚动 487

23.5 规划鼠标移动 488

23.6 截屏 489

23.7 图像识别 490

23.8 获取窗口信息 492

23.8.1 获取活动窗口 492

23.8.2 使用其他函数查找窗口 493

23.8.3 操作窗口 493

23.9 控制键盘 496

23.9.1 模拟按键操作 496

23.9.2 指定键名 497

23.9.3 按下和松开键盘键 498

23.9.4 模拟按快捷键 498

23.10 GUI 自动化脚本编写小贴士 499

23.11 显示消息框 500

23.12 小结 501

第 24 章 文本转语音引擎和语音识别引擎 503

24.1 文本转语音引擎 503

24.1.1 生成语音 504

24.1.2 将语音保存为 WAV 文件 505

24.2 语音识别 506

24.3 创建字幕文件 507

24.4 从网站下载视频 508

24.5 小结 511

附录 安装第三方包 513

1. 安装 pip 513

2. 查找 pip 513

3. 在虚拟环境中运行 pip 514

4. 安装本书用到的包 514

商品参数
基本信息
出版社 人民邮电出版社
ISBN 9787115684882
条码 9787115684882
编者 阿尔·斯维加特(Al Sweigart) 著 袁国忠 译
译者
出版年月 2026-01-01 00:00:00.0
开本 其他
装帧 平装
页数 516
字数
版次 3
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]