-
内容大纲
这是一本面向初学者的Python编程实用指南,用“讲故事+做项目”的方式带你走进Python世界。
本书的第一部分(第1~8章)用浅显易懂的语言将Python基础知识、语法、数据结构等串起来,第二部分(第9~24章)则把这些概念直接投入真实场景,让Python程序替你批量整理文件夹、填报电子表格、抓取网页数据、生成PDF报告、定时发送邮件,甚至让计算机“开口说话”。本书的案例聚焦日常痛点,会先讲思路,再给代码,并在实践项目中分步骤拆解和演示编程实践,非常有助于读者边学边上手。值得一提的是,本书还结合大语言模型(LLM)给出了一些更加巧妙的实践技巧。
无论你是想要轻松学习编程的入门级读者,还是想借助程序自动化处理事务的非专业人士,这本久经考验的Python教程都将是你不容错过的选择。 -
作者介绍
-
目录
第一部分 编程基础
第1章 Python基础
1.1 在交互式环境中输入表达式
1.2 整型、浮点型和字符串数据类型
1.3 字符串的拼接和复制
1.4 在变量中存储值
1.4.1 赋值语句
1.4.2 变量名
1.5 编写第一个程序
1.6 程序详解
1.6.1 注释
1.6.2 函数print()
1.6.3 函数input()
1.6.4 问候语
1.6.5 函数len()
1.6.6 函数str()、int()和float()
1.6.7 函数type()
1.6.8 函数round()和abs()
1.7 计算机如何使用二进制数存储数据
1.8 小结
第2章 if-else和流程控制
2.1 布尔值
2.2 比较运算符
2.3 布尔运算符
2.4 混合使用布尔运算符和比较运算符
2.5 流程控制的组成部分
2.5.1 条件
2.5.2 代码块
2.5.3 程序执行
2.6 流程控制语句
2.6.1 if语句
2.6.2 else语句
2.6.3 elif语句
2.7 小程序1:反转日
2.8 小程序2:不诚实的容量计算器
2.9 小结
第3章 循环
3.1 while循环语句
3.1.1 一个恼人的while循环
3.1.2 break语句
3.1.3 continue语句
3.2 for循环和函数range()
3.2.1 等价的while循环
3.2.2 range()的参数
3.3 导入模块
3.4 使用sys.exit()提前结束程序
3.5 小程序3:猜数
3.6 小程序4:剪刀、石头、布
3.7 小结
第4章 函数
4.1 创建函数
4.2 实参和形参
4.3 返回值和return语句
4.4 None值
4.5 具名形参
4.6 调用栈
4.7 局部作用域和全局作用域
4.7.1 作用域规则
4.7.2 global语句
4.7.3 确定变量是全局变量还是局部变量
4.8 异常处理
4.9 小程序5:之字形运动
4.10 小程序6:绘制尖峰
4.11 小结
第5章 调试
5.1 引发异常
5.2 断言
5.3 日志
5.3.1 logging模块
5.3.2 日志文件
5.3.3 一种糟糕的做法:使用print()进行调试
5.3.4 日志等级
5.3.5 禁用日志
5.4 Mu的调试器
5.4.1 调试一个执行加法运算的程序
5.4.2 设置断点
5.5 小结
第6章 列表
6.1 列表数据类型
6.1.1 索引
6.1.2 负数索引
6.1.3 切片
6.1.4 函数len()
6.1.5 更新列表中的值
6.1.6 拼接和复制
6.1.7 del语句
6.2 使用列表
6.2.1 for循环与列表
6.2.2 运算符in和notin
6.2.3 多重赋值技巧
6.2.4 列表元素枚举
6.2.5 随机选择和随机排序
6.3 增强赋值运算符
6.4 方法
6.4.1 查找值
6.4.2 添加值
6.4.3 删除值
6.4.4 对值进行排序
6.4.5 以相反的顺序排列值
6.5 短路的布尔运算符
23.3.2 获取鼠标的当前位置
23.4 控制鼠标交互
23.4.1 单击
23.4.2 拖曳
23.4.3 滚动
23.5 规划鼠标移动
23.6 截屏
23.7 图像识别
23.8 获取窗口信息
23.8.1 获取活动窗口
23.8.2 使用其他函数查找窗口
23.8.3 操作窗口
23.9 控制键盘
23.9.1 模拟按键操作
23.9.2 指定键名
23.9.3 按下和松开键盘键
23.9.4 模拟按快捷键
23.10 GUI自动化脚本编写小贴士
23.11 显示消息框
23.12 小结
第24章 文本转语音引擎和语音识别引擎
24.1 文本转语音引擎
24.1.1 生成语音
24.1.2 将语音保存为WAV文件
24.2 语音识别
24.3 创建字幕文件
24.4 从网站下载视频
24.5 小结
附录安装第三方包
1.安装pip
2.查找pip
3.在虚拟环境中运行pip
4.安装本书用到的包
6.6 小程序7:列表版魔力八号球
6.7 序列数据类型
6.7.1 可变数据类型和不可变数据类型
6.7.2 元组数据类型
6.7.3 转换为列表和元组
6.8 引用
6.8.1 实参
6.8.2 函数copy()和deepcopy()
6.9 小程序8:黑客帝国屏保
6.10 小结
第7章 字典与数据结构化
7.1 字典数据类型
7.1.1 比较字典和列表
7.1.2 返回键和值
7.1.3 检查指定的键是否存在
7.1.4 设置默认值
7.2 使用数据结构对实物建模
7.3 项目1:交互式国际象棋棋盘模拟器
7.3.1 第1步:初始化
7.3.2 第2步:创建棋盘模板
7.3.3 第3步:显示棋盘的当前状态
7.3.4 第4步:操作棋盘
7.4 嵌套的字典和列表
7.5 小结
第8章 字符串与文本编辑
8.1 使用字符串
8.1.1 字符串字面量
8.1.2 索引和切片
8.1.3 运算符in和notin
8.2 f-字符串
8.3 f-字符串的替代方法:%s和format()
8.4 非常有用的字符串方法
8.4.1 修改大小写
8.4.2 检查字符串的特征
8.4.3 检查字符串的开头和结尾部分
8.4.4 字符串合并和拆分
8.4.5 文本对齐和居中
8.4.6 删除空白
8.5 字符的数值码点
8.6 复制并粘贴字符串
8.7 项目2:在维基百科文章中添加项目符号
8.7.1 第1步:从剪贴板复制并粘贴
8.7.2 第2步:按行拆分文本
8.7.3 第3步:合并修改后的行
8.8 小程序9:儿童黑话
8.9 小结
第二部分 任务自动化
第9章 使用正则表达式匹配文本模式
9.1 在不使用正则表达式的情况下查找文本模式
9.2 使用正则表达式查找文本模式
9.3 正则表达式语法
9.3.1 使用括号进行分组
9.3.2 使用转义字符
9.3.3 匹配可替代编组
9.3.4 返回所有的匹配内容
9.4 修饰符语法:要匹配什么字符
9.4.1 使用字符集和反向字符集
9.4.2 使用简写字符集
9.4.3 使用句点字符匹配任何字符
9.4.4 注意要匹配的字符是否正确
9.5 量词语法:匹配多少个修饰符
9.5.1 匹配可选模式
9.5.2 匹配零个或多个修饰符
9.5.3 匹配一个或多个修饰符
9.5.4 匹配指定数量的修饰符
9.6 贪婪匹配和非贪婪匹配
9.6.1 匹配任何内容
9.6.2 匹配换行符
9.7 在字符串开头和末尾查找匹配的内容
9.8 匹配时不区分大小写
9.9 替换字符串
9.10 使用详细模式管理复杂的正则表达式
9.11 组合使用re.IGNORECASE、re.DOTALL和re.VERBOSE
9.12 项目3:从大型文档中提取联系人信息
9.12.1 第1步:创建用于匹配电话号码的正则表达式
9.12.2 第2步:创建用于匹配电子邮件地址的正则表达式
9.12.3 第3步:找出剪贴板文本中所有匹配的内容
9.12.4 第4步:将匹配的内容合并为单个字符串
9.12.5 文本模式识别的其他用途
9.13 Humre:一个用于提高正则表达式可读性的模块
9.14 小结
第10章 读写文件
10.1 文件和文件路径
10.1.1 标准化路径分隔符
10.1.2 合并路径
10.1.3 访问当前工作目录
10.1.4 访问主目录
10.1.5 指定绝对路径与相对路径
10.1.6 新建文件夹
10.1.7 处理绝对路径和相对路径
10.1.8 获取文件路径的组成部分
10.1.9 获取文件大小和时间戳
10.1.10 使用glob模式查找文件
10.1.11 检查路径是否有效
10.2 文件读写过程
10.2.1 打开文件
10.2.2 读取文件内容
10.2.3 写入文件
10.2.4 使用with语句
10.3 使用shelve模块保存变量
10.4 项目4:生成随机的考卷文件
10.4.1 第1步:将测验数据存储在字典中
10.4.2 第2步:创建用于存储测验数据的文件
10.4.3 第3步:创建选项
10.4.4 第4步:将内容写入文件
10.5 小结
第11章 组织文件
11.1 shutil模块
11.1.1 复制文件和文件夹
11.1.2 移动和重命名文件和文件夹
11.1.3 永久性删除文件和文件夹
11.1.4 移入回收站
11.2 遍历目录树
11.3 使用zipfile模块压缩文件
11.3.1 创建和添加到ZIP文件
11.3.2 读取ZIP文件
11.3.3 解压缩ZIP文件
11.4 项目5:将文件夹备份到ZIP文件中
11.4.1 第1步:确定ZIP文件的名称
11.4.2 第2步:新建ZIP文件
11.4.3 第3步:遍历目录树
11.4.4 使用同样的技巧编写类似程序
11.5 小结
第12章 设计并部署命令行程序
12.1 程序的别名
12.2 使用终端
12.2.1 命令cd、pwd、dir和ls
12.2.2 环境变量PATH
12.2.3 编辑环境变量PATH
12.2.4 命令which和where
12.3 虚拟环境
12.4 使用pip安装Python包
12.5 有自我认知的Python程序
12.6 基于文本的程序设计
12.6.1 简短的命令名
12.6.2 命令行参数
12.6.3 剪贴板I/O
12.6.4 使用Bext显示五颜六色的文本
12.6.5 清空终端窗口
12.6.6 声音和文本通知
12.7 小程序10:暴风雪
12.8 使用PyMsgBox弹出消息框
12.9 部署Python程序
12.9.1 Windows
12.9.2 macOS
12.9.3 UbuntuLinux
12.10 小程序11:复制当前工作目录
12.10.1 Windows
12.10.2 macOS
12.10.3 UbuntuLinux
12.11 小程序12:剪贴板记录程序
12.11.1 Windows
12.11.2 macOS
12.11.3 UbuntuLinux
12.12 使用PyInstaller编译Python程序
12.13 小结
第13章 Web内容爬取
13.1 HTTP和HTTPS
13.2 项目6:使用webbrowser模块运行程序
13.2.1 第1步:确定URL
13.2.2 第2步:处理命令行参数
13.2.3 第3步:获取剪贴板中的内容
13.2.4 使用webbrowser模块编写类似程序
13.3 使用requests模块下载网络文件
13.3.1 下载网页
13.3.2 检查错误
13.3.3 将下载的文件保存到硬盘
13.4 访问天气API
13.4.1 城市搜索
13.4.2 获取当前天气
13.4.3 获取天气预报
13.4.4 探索API
13.5 理解HTML
13.5.1 探索HTML格式
13.5.2 查看网页的源代码
13.5.3 打开浏览器的开发者工具
13.5.4 查找HTML元素
13.6 使用BeautifulSoup解析HTML
13.6.1 创建BeautifulSoup对象
13.6.2 查找元素
13.6.3 获取元素属性中的数据
13.7 项目7:打开所有搜索结果
13.7.1 第1步:获取搜索结果页面
13.7.2 第2步:查找所有搜索结果
13.7.3 第3步:在不同的浏览器选项卡中打开每个搜索结果
13.7.4 使用同样的技巧编写类似程序
13.8 项目8:下载XKCD漫画
13.8.1 第1步:设计程序
13.8.2 第2步:下载网页
13.8.3 第3步:找到并下载漫画图像
13.8.4 第4步:保存图像并找到上一张漫画
13.8.5 用同样的技巧编写类似程序
13.9 使用Selenium控制浏览器
13.9.1 启动Selenium控制的浏览器
13.9.2 单击浏览器中的按钮
13.9.3 查找页面上的元素
13.9.4 单击页面上的元素
13.9.5 填写并提交表单
13.9.6 发送特殊键
13.10 使用Playwright控制浏览器
13.10.1 启动Playwright控制的浏览器
13.10.2 单击浏览器中的按钮
13.10.3 查找页面上的元素
13.10.4 单击页面上的元素
13.10.5 填写并提交表单
13.10.6 发送特殊键
13.11 小结
第14章 Excel电子表格
14.1 读取Excel文件
14.1.1 打开工作簿
14.1.2 获取工作簿中的工作表
14.1.3 获取工作表中的单元格
14.1.4 在列的字母编号和数字编号之间进行转换
14.1.5 获取行和列
14.2 项目9:收集人口普查统计数据
14.2.1 第1步:读取电子表格数据
14.2.2 第2步:填充数据结构
14.2.3 第3步:将结果写入文件
14.2.4 使用同样的技巧编写类似程序
14.3 写入Excel文档
14.3.1 创建并保存Excel文件
14.3.2 创建和删除工作表
14.3.3 在单元格中写入值
14.4 项目10:更新电子表格
14.4.1 第1步:设计用于存储正确价格信息的数据结构
14.4.2 第2步:检查所有行并更正错误价格
14.4.3 使用同样的技巧编写类似程序
14.5 设置单元格的字体样式
14.6 公式
14.7 调整行和列
14.7.1 设置行高和列宽
14.7.2 合并和拆分单元格
14.7.3 冻结窗格
14.8 图表
14.9 小结
第15章 GoogleSheets
15.1 准备工作
15.1.1 新建一个GoogleCloud项目
15.1.2 启用GoogleSheetsAPI和GoogleDriveAPI
15.1.3 配置OAuth许可界面
15.1.4 创建凭证
15.1.5 使用凭证文件登录
15.1.6 撤销凭证文件
15.2 Spreadsheet对象
15.2.1 创建、上传和列出电子表格
15.2.2 访问电子表格的属性
15.2.3 下载和上传电子表格
15.2.4 删除电子表格
15.3 Sheet对象
15.3.1 读写数据
15.3.2 创建、移动和删除工作表
15.3.3 复制工作表
15.4 GoogleForms
15.5 项目11:虚构的区块链加密货币骗局
15.5.1 第1步:审计区块链
15.5.2 第2步:实施交易
15.6 GoogleSheets配额
15.7 小结
第16章 SQLite数据库
16.1 比较电子表格和数据库
16.2 比较SQLite和其他SQL数据库
16.3 创建数据库和表
16.3.1 连接到数据库
16.3.2 创建表
16.3.3 定义数据类型
16.3.4 列出表和列
16.4 数据库操作CRUD
16.4.1 在数据库中插入数据
16.4.2 从数据库中读取数据
16.4.3 更新数据库中的数据
16.4.4 删除数据库中的数据
16.5 回滚事务
16.6 备份数据库
16.7 修改和删除表
16.8 使用外键连接多个表
16.9 内存数据库及其备份
16.10 复制数据库
16.11 SQLite命令行工具
16.12 小结
第17章 PDF文档和Word文档
17.1 PDF文档
17.1.1 提取文本
17.1.2 使用AI做后期处理
17.1.3 提取图像
17.1.4 使用既有PDF页面创建PDF文档
17.2 项目12:将众多PDF文档中的部分 页面合并为单个PDF文档
17.2.1 第1步:找出所有的PDF文件
17.2.2 第2步:打开每个PDF文件
17.2.3 第3步:保存结果
17.2.4 使用同样的技巧编写类似程序
17.3 Word文档
17.3.1 读取Word文档
17.3.2 获取.docx文件中的所有文本
17.3.3 设置Paragraph和Run对象的样式
17.3.4 设置Run对象的属性
17.3.5 写入Word文档
17.3.6 添加标题
17.3.7 添加软换行符和换页符
17.3.8 添加图片
17.4 小结
第18章 CSV、JSON和XML文件
18.1 CSV格式
18.1.1 读取CSV文件
18.1.2 使用for循环访问数据
18.1.3 写入CSV文件
18.1.4 将制表符(而不是逗号)用作分隔符
18.1.5 处理标题行
18.2 项目13:删除CSV文件中的标题行
18.2.1 第1步:遍历每个文件
18.2.2 第2步:读取文件
18.2.3 第3步:写入新的CSV文件
18.2.4 使用同样的技巧编写类似程序
18.3 用途广泛的纯文本格式
18.3.1 JSON
18.3.2 XML
18.4 小结
第19章 记录时间、调度任务和启动程序
19.1 time模块
19.1.1 返回UNIX纪元时间戳
19.1.2 让程序暂停
19.2 项目14:超级秒表
19.2.1 第1步:为计时做准备
19.2.2 第2步:记录并显示每个阶段的时长
19.2.3 使用同样的技巧编写类似程序
19.3 datetime模块
19.3.1 表示时间段
19.3.2 暂停到特定日期
19.3.3 将datetime对象转换为字符串
19.3.4 将字符串转换为datetime对象
19.4 在Python程序中启动其他程序
19.4.1 向进程传递命令行参数
19.4.2 接收来自外部命令的文本输出
19.4.3 运行任务调度器、launchd和cron
19.4.4 使用默认应用程序打开文件
19.5 项目15:简单的倒计时程序
19.5.1 第1步:倒计时
19.5.2 第2步:播放音频文件
19.5.3 使用同样的技巧编写类似程序
19.6 小结
第20章 发送电子邮件、短信和通知
20.1 GmailAPI
20.1.1 启用GmailAPI
20.1.2 发送邮件
20.1.3 读取邮件
20.1.4 搜索邮件
20.1.5 下载附件
20.2 SMSEmail网关
20.3 通知
20.3.1 发送通知
20.3.2 传输元数据
20.3.3 接收通知
20.4 小结
第21章 绘制图形和操作图像
21.1 计算机图像基础
21.1.1 颜色和RGBA值
21.1.2 坐标和矩形元组
21.2 使用Pillow操作图像
21.2.1 使用数据类型Image
21.2.2 裁剪图像
21.2.3 将图像粘贴到其他图像中
21.2.4 调整图像大小
21.2.5 旋转和翻转图像
21.2.6 修改像素
21.3 项目16:添加徽标
21.3.1 第1步:载入徽标图像
21.3.2 第2步:遍历所有的文件
21.3.3 第3步:调整图像大小
21.3.4 第4步:添加徽标并保存所做的修改
21.3.5 使用同样的技巧编写类似程序
21.4 在图像上绘画
21.4.1 形状
21.4.2 文本
21.5 使用剪贴板复制并粘贴图像
21.6 使用Matplotlib绘图
21.6.1 折线图和散点图
21.6.2 条形图和饼图
21.6.3 其他图表元素
21.7 小结
第22章 识别图像中的文本
22.1 安装Tesseract和PyTesseract
22.1.1 Windows
22.1.2 macOS
22.1.3 Linux
22.1.4 安装PyTesseract
22.2 OCR基础知识
22.2.1 预处理图像
22.2.2 使用大语言模型更正错误
22.3 识别非英语文本
22.4 扫描器应用程序NAPS
22.4.1 安装并设置NAPS
22.4.2 在Python程序中运行NAPS
22.4.3 指定输入
22.5 小结
第23章 控制键盘和鼠标
23.1 在macOS系统中将程序设置为无障碍的
23.2 从故障中恢复
23.2.1 暂停和故障恢复措施
23.2.2 注销
23.3 控制鼠标移动
23.3.1 移动鼠标
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
