第 1章 初识Python 013
1.1 认识Python语言 014
1.1.1 编程语言概述 014
1.1.2 Python语言概述 014
1.1.3 Python语言的发展 015
1.2 搭建Python开发环境 015
1.2.1 在Windows系统中搭建开发环境 016
1.2.2 在macOS系统中搭建开发环境 017
1.3 第 一个Python程序 017
1.3.1 认识IDLE 017
1.3.2 实现hello world程序 018
1.3.3 程序运行出现异常 019
1.4 Python语言代码的特点 020
总结 020
第 2章 Python语法元素 021
2.1 输出函数print() 022
2.1.1 函数 022
2.1.2 print()函数 022
2.2 元素的命名 025
2.2.1 变量的命名规则 025
2.2.2 赋值语句 026
2.3 基本数据类型 027
2.3.1 数据类型的介绍 027
2.3.2 检测数据类型 035
2.3.3 强制转换数据类型 035
2.3.4 报错信息分析 036
2.3.5 多行处理 036
2.4 输入函数input() 037
2.5 注释和“使用帮助”功能 038
2.5.1 注释功能 038
2.5.2 “使用帮助”功能 038
项目案例 实现计算器 040
总结 040
第3章 程序控制语句 041
3.1 条件判断语句 042
3.1.1 if语句 042
3.1.2 布尔值 043
3.1.3 if+else语句 044
3.1.4 if+elif+else语句 045
3.1.5 多个elif语句 046
3.1.6 条件判断语句的嵌套 046
3.1.7 多个条件判断语句 047
3.1.8 if+else语句的复合写法 048
3.2 循环语句 048
3.2.1 for循环 048
3.2.2 while循环 051
3.2.3 嵌套循环 052
3.2.4 break和continue语句 054
3.3 异常处理语句 055
3.3.1 异常处理语句的使用 055
3.3.2 异常捕获 055
项目案例 实现模拟超市收银系统 056
总结 058
第4章 组合数据类型 059
4.1 列表类型 060
4.1.1 列表类型的介绍 060
4.1.2 获取列表元素 060
4.1.3 嵌套列表的索引方法 061
4.1.4 循环访问列表的元素 062
4.1.5 列表类型的函数 062
4.1.6 列表类型的方法 063
4.2 元组类型 066
4.3 字典类型 067
4.3.1 字典类型的介绍 067
4.3.2 获取字典元素 068
4.3.3 字典类型的方法 068
4.3.4 字典的遍历 070
4.3.5 数据的维度 071
项目案例 实现统计学生信息 072
总结 074
第5章 函数 075
5.1 函数的创建 076
5.1.1 函数的介绍 076
5.1.2 函数的定义 076
5.1.3 函数的调用 077
5.1.4 函数的复用 078
5.1.5 return返回值 079
5.2 函数的参数 080
5.2.1 形参和实参 080
5.2.2 默认参数 081
5.2.3 可变参数 082
5.3 函数的变量作用范围 084
5.3.1 函数中使用全局变量存在的问题 084
5.3.2 global声明全局变量 085
5.3.3 *变量为可变数据 086
5.3.4 函数中的可变数据 087
5.4 导入其他模块中的函数 088
5.4.1 导入文件模块 088
5.4.2 导入文件中的指定函数 089
5.4.3 导入文件中的全部函数 089
5.4.4 给导入的函数设置别名 090
5.4.5 *__name__属性 090
5.5 *函数递归 091
5.6 *匿名函数lambda 092
项目案例 实现复用之美 093
总结 094
第6章 类 095
6.1 类的介绍 096
6.1.1 对象的基本概念 096
6.1.2 创建类 096
6.1.3 创建对象 097
6.2 类的属性 098
6.2.1 属性的使用 098
6.2.2 初始化其他方法 099
6.2.3 属性的修改 100
6.2.4 获取类的文档说明 101
6.3 类的继承 101
6.3.1 类的继承方式 101
6.3.2 在子类中添加方法 103
6.3.3 覆盖父类中的方法 103
6.4 导入其他文件中的类 104
6.4.1 导入类 104
6.4.2 在类中使用另一个类的方法 105
6.4.3 *类的文件模块化 106
项目案例 实现快递机器人 107
总结 108
第7章 操作文件 109
7.1 文件 110
7.1.1 文件的介绍 110
7.1.2 文件的编码方式 110
7.1.3 编码与Unicode值的转换 111
7.1.4 编码转换 112
7.2 操作文件 113
7.2.1 打开文件 113
7.2.2 读取文件 118
7.2.3 写入文件 121
7.3 文件的读取位置和路径 122
7.3.1 调整文件的读取位置 122
7.3.2 绝对路径和相对路径 123
7.4 CSV文件 124
项目案例1 实现读取“中国十二时辰.csv”文件 125
项目案例2 实现整理HTML网页内容 126
总结 128
第8章 库 129
8.1 标准库 130
8.1.1 标准库的介绍 130
8.1.2 标准库的导入方法 130
8.2 时间库 131
8.2.1 获取时间戳 131
8.2.2 获取时间 132
8.2.3 时间格式转换 134
8.2.4 时间休眠 136
8.3 随机库 136
8.3.1 随机生成数值 136
8.3.2 随机选择 137
8.3.3 随机种子 138
8.4 正则表达式库 139
8.4.1 匹配字符串 139
8.4.2 正则表达式 140
8.4.3 贪婪和非贪婪模式 144
8.4.4 或和组 144
8.4.5 sub()和compile()方法 145
8.5 第三方库 146
8.5.1 第三方库的介绍 146
8.5.2 不同领域的第三方库 146
8.5.3 第三方库的安装 147
8.5.4 安装报错的解决方法 148
8.5.5 pip工具的常用命令 149
8.6 Pyinstaller库 151
8.6.1 Pyinstaller库的介绍和安装 151
8.6.2 Pyinstaller库的使用 151
8.6.3 其他Pyinstaller命令 153
8.7 jieba库 154
8.7.1 jieba库的原理分析 154
8.7.2 jieba库的解析 154
8.7.3 jieba库的使用 155
8.7.4 小项目案例:实现判断评论为好评或差评 157
项目案例 实现打包游戏 159
总结 160
第9章 操作文件夹 161
9.1 操作文件路径 162
9.1.1 获取当前路径 162
9.1.2 创建文件夹 162
9.1.3 拼接路径 163
9.1.4 跳转路径 163
9.1.5 判断相对路径和绝对路径 164
9.1.6 获取文件路径和文件名 164
9.2 操作文件和文件夹 164
9.2.1 查询文件大小 164
9.2.2 删除文件和文件夹 165
9.2.3 重命名文件或文件夹 165
9.2.4 复制文件 166
9.2.5 获取文件夹中的全部文件名 166
9.2.6 判断文件和文件夹 167
9.3 执行其他应用程序 167
9.3.1 命令提示符窗口或终端 167
9.3.2 system()方法 169
9.3.3 popen()方法 170
9.4 压缩和解压文件 170
9.4.1 判断文件是否为Zip文件 170
9.4.2 打开压缩文件 171
9.4.3 解压文件 172
9.4.4 压缩文件 173
9.4.5 获取Zip文件中文件的属性信息 174
9.5 *sys库 175
9.5.1 获取Python信息 175
9.5.2 退出程序 177
9.5.3 argv获取输入命令 177
9.5.4 stdout、stdin和stderr 179
项目案例 实现计算文件夹的大小 180
总结 182
第 10章 操作Excel文件 183
10.1 Excel文件 184
10.1.1 Excel文件的介绍 184
10.1.2 openpyxl库的安装 184
10.1.3 openpyxl库的解析 185
10.2 操作工作簿 185
10.2.1 打开工作簿 185
10.2.2 创建新工作簿 186
10.2.3 获取工作表对象 187
10.2.4 增加、删除、修改工作表 188
10.2.5 移动、复制工作表 190
10.3 操作工作表 192
10.3.1 获取工作表中的内容 193
10.3.2 字母和数字之间的转换 194
10.3.3 获取区域单元格 194
10.3.4 工作表中存储数据的行数和列数 196
10.3.5 向单元格中写入数据 196
10.3.6 插入或删除行、列 197
10.3.7 设置行高和列宽 198
10.3.8 移动指定区域单元格 199
10.3.9 合并单元格与取消合并 200
10.3.10 冻结窗口 200
10.3.11 插入图片 201
10.4 操作单元格 202
10.4.1 读取和写入单元格值 202
10.4.2 设置字体 204
10.4.3 设置单元格填充效果 205
10.4.4 设置单元格边框 207
10.4.5 设置单元格对齐方式 209
10.4.6 解析Excel公式 210
10.5 创建图表 212
10.5.1 图表的使用方法 212
10.5.2 创建面积图 213
10.5.3 设置图表x轴的参数 215
10.5.4 设置图表参数 216
10.5.5 散点图 217
10.5.6 获取图表 218
10.6 排序和筛选 219
10.7 创建表格 221
10.8 文件保护 222
10.8.1 保护工作簿 223
10.8.2 保护工作表 223
10.9 操作.xls格式文件 224
10.9.1 xlrd库和xlwt库的安装 224
10.9.2 读取.xls格式文件 225
10.9.3 读取工作表 226
10.9.4 读取单元格 228
10.9.5 写入.xls格式文件 229
10.9.6 操作已存在的.xls格式文件 231
10.9.7 操作工作表 231
10.9.8 写入单元格 233
10.9.9 样式设置 234
10.9.10 获取行和列 237
项目案例 实现在10分钟内设计1008张表格 239
总结 240
第 11章 操作Word文件 241
11.1 Word文件 242
11.1.1 Word文件的介绍 242
11.1.2 python-docx库 242
11.1.3 python-docx库的解析 243
11.2 读取Word文件 243
11.2.1 打开文件和保存文件 244
11.2.2 获取文件段落对象 245
11.2.3 获取run对象 245
11.3 run模块 246
11.3.1 添加分隔符 247
11.3.2 获取和修改run语句 248
11.3.3 插入图片 249
11.3.4 设置run语句格式 250
11.3.5 小项目案例:实现设置run语句格式 259
11.4 段落 260
11.4.1 添加run模块 261
11.4.2 设置段落对齐方式 262
11.4.3 清除段落内容 262
11.4.4 插入新段落 263
11.4.5 获取和修改段落文字 263
11.4.6 设置段落格式 264
11.5 文档 267
11.5.1 新增标题 268
11.5.2 新增段落 268
11.5.3 新增页面 269
11.5.4 插入图片 269
11.5.5 插入表格 270
11.5.6 插入分节符 272
11.6 样式 276
11.6.1 样式的解析 277
11.6.2 获取样式 278
11.6.3 创建新样式 279
11.6.4 设置样式 279
项目案例 实现操作汽车说明书文档 280
总结 284
第 12章 操作PPT文件 285
12.1 PPT文件 286
12.1.1 PPT文件的介绍 286
12.1.2 python-pptx库的安装 286
12.1.3 python-pptx库的解析 287
12.2 读取和写入PPT文件 287
12.2.1 打开和保存PPT文件 287
12.2.2 获取幻灯片 289
12.2.3 添加幻灯片 289
12.3 操作形状 291
12.3.1 形状 291
12.3.2 形状树 293
12.3.3 添加形状 293
12.3.4 添加视频 294
12.3.5 读取形状的属性信息 295
12.3.6 自选形状 296
12.3.7 判断形状的文本类型 297
12.3.8 设置文本框 298
12.3.9 占位符 300
12.4 操作图表 303
12.4.1 添加图表 303
12.4.2 添加表格 305
12.4.3 添加图片 308
项目案例 实现批量生成PPT文件 310
总结 314
第 13章 操作PDF文件 315
13.1 PyPDF2库 316
13.1.1 PyPDF2库的安装 316
13.1.2 读取PDF文件信息 316
13.1.3 创建PDF文件对象 318
13.1.4 操作PDF文件 320
13.2 pdfminer库 325
13.2.1 pdfminer库的安装 325
13.2.2 PDF格式转换工具 326
13.2.3 获取PDF文件内容 328
项目案例 实现将PDF文件转换为Word文件 331
总结 332
第 14章 操作HTML网页 333
14.1 HTML网页的介绍 334
14.1.1 简单的HTML网页框架 334
14.1.2 框架分析 334
14.2 常用标签 335
14.2.1 标题标签 335
14.2.2 段落标签 336
14.2.3 超链接标签 336
14.2.4 注释标签 336
14.2.5 标签属性 337
14.3 设置字体格式 338
14.3.1 设置字体的字形与效果 338
14.3.2 设置字体颜色 338
14.3.3 设置字体大小 339
14.4 添加多媒体 339
14.4.1 添加网页图片 339
14.4.2 添加网页音频 340
14.4.3 添加网页视频 341
14.5 获取网页资源 341
14.6 创建容器 343
14.6.1
14.6.2 布局 343
14.7 创建表格 344
14.7.1 表格标签 344
14.7.2 添加表格表头 345
14.7.3 添加表格标题 345
项目案例 实现搭建图书网站 346
总结 348
第 15章 网络爬虫 349
15.1 网络爬虫的介绍 350
15.1.1 网络爬虫库 350
15.1.2 robots.txt规则 350
15.2 requests库和网页源代码 351
15.2.1 requests库的安装 351
15.2.2 网页源代码 352
15.3 获取网页资源 353
15.3.1 get()函数 353
15.3.2 返回response对象 355
15.3.3 小项目案例:实现处理获取的网页信息 357
15.4 提交信息到网页 358
15.4.1 浏览器提交请求 358
15.4.2 post()函数 359
15.4.3 上传文件的方法 359
15.5 会话 360
15.5.1 会话维持 360
15.5.2 创建会话 360
15.6 代理服务器 361
15.6.1 代理服务器的工作流程 361
15.6.2 获取代理服务器 361
15.6.3 代理服务器的使用方法 362
15.7 selenium库驱动浏览器 362
15.7.1 使用selenium库前的准备 363
15.7.2 驱动浏览器 364
15.7.3 加载网页 365
15.7.4 获取渲染后的网页代码 368
15.7.5 小项目案例:实现批量下载网页中的资源 368
15.7.6 获取和操作网页元素 369
15.7.7 小项目案例:实现上传图片 372
15.7.8 更多操作 373
项目案例 实现获取图书数据 376
总结 378
第 16章 自动收发邮件 379
16.1 邮件的收发原理 380
16.1.1 邮件传输协议 380
16.1.2 设置邮箱 380
16.2 接收邮件 381
16.2.1 登录邮箱账户 381
16.2.2 获取邮箱中的邮件 383
16.2.3 下载邮件内容 384
16.2.4 解析邮件头部信息 385
16.3 发送邮件 386
16.3.1 登录邮箱账户 386
16.3.2 创建邮件内容 387
16.3.3 发送邮件 388
16.3.4 发送附件 388
16.3.5 添加图片 390
项目案例1 实现发送不同文件给不同用户 391
项目案例2 实现发送员工工资信息 392
总结 394
第 17章 聊天机器人和二维码 395
17.1 微信聊天机器人 396
17.1.1 wxpy库的安装 396
17.1.2 登录微信 396
17.1.3 WechatPCAPI库 397
17.1.4 图灵机器人 397
17.2 钉钉群机器人 398
17.2.1 配置钉钉群机器人 398
17.2.2 webhook的介绍 399
17.2.3 组建webhook接口 400
17.2.4 发送消息 401
17.2.5 发送其他消息 402
17.3 JSON数据 404
17.3.1 JSON数据的介绍 404
17.3.2 将Python数据转换为JSON数据 405
17.3.3 将JSON数据转换为Python数据 406
17.4 二维码 407
17.4.1 库的安装 408
17.4.2 使用MyQR库创建二维码 408
17.4.3 使用QRCode库创建二维码 409
17.4.4 创建图片二维码 410
17.4.5 创建动态二维码 410
项目案例1 实现自动推送钉钉群消息 411
项目案例2 实现批量生成二维码 412
总结 414
第 18章 控制鼠标和键盘 415
18.1 控制鼠标和键盘库 416
18.2 控制鼠标 416
18.2.1 获取屏幕尺寸 416
18.2.2 获取鼠标指针位置 417
18.2.3 移动鼠标指针 417
18.2.4 单击和双击 419
18.2.5 按下和弹起鼠标按键 421
18.2.6 拖曳鼠标指针 422
18.2.7 滚动鼠标滚轮 423
18.2.8 tween参数 423
18.3 控制键盘 424
18.3.1 输入内容 424
18.3.2 按下和弹起键盘按键 425
18.3.3 顺序按键 426
18.3.4 判断键信息是否正确 426
18.3.5 其他功能 426
18.4 剪贴板库pyperclip 428
项目案例 实现自动提交数据到应用程序 429
总结 430
第 19章 批量处理视频 431
19.1 视频处理库 432
19.1.1 视频文件的介绍 432
19.1.2 视频处理库的安装 433
19.2 视频处理 433
19.2.1 读取视频 433
19.2.2 导出视频 434
19.2.3 视频转码 437
19.2.4 串联视频 438
19.2.5 导出视频图片 440
19.2.6 设置视频画面尺寸 442
19.2.7 预览视频 443
19.2.8 同时显示多个视频 444
19.2.9 添加视频背景 446
19.3 视频图片处理 447
19.3.1 图片类ImageClip 447
19.3.2 嵌入图片 448
19.3.3 小项目案例:实现批量生成视频水印 450
19.4 视频音频处理 451
19.4.1 音频类AudioFileClip 451
19.4.2 添加或删除音频 451
19.4.3 设置音频音量 452
19.5 视频文字处理 452
19.5.1 添加文字特效 452
19.5.2 设置滚动文字 454
项目案例 实现自动添加视频字幕 454
总结 456
附录 457
常见颜色码对照表 457