自我提升
类型
可以朗读
语音朗读
398千字
字数
2021-01-01
发行日期
展开全部
主编推荐语
本书由一线资深Python开发工程师精心编写,循序渐进地介绍Python自动化编程的相关知识。
内容简介
全书共20章,第1~14章讲解Python编程基础知识,第15章讲解数据库编程,第16~20章分别讲解使用Selenium实现网页自动化、使用Requests实现网页爬虫编程、办公自动化编程、使用OpenCV实现图像识别与定位、Web系统的开发与部署。
本书理论与实践相结合,案例丰富,非常适合从零开始学习自动化编程的读者使用,也适合自动化测试、自动化运维、自动化系统开发的一线从业者参考。
目录
- 版权信息
- 作者简介
- 前言
- 第1章 构建开发环境
- 1.1 Python的发展历程
- 1.2 Python的应用场景
- 1.3 安装Python
- 1.3.1 在Windows下安装Python 3.8
- 1.3.2 在Linux下安装Python 3.8
- 1.4 PyCharm的安装与使用
- 1.4.1 安装PyCharm
- 1.4.2 运行PyCharm
- 1.4.3 创建项目
- 1.4.4 编写并运行HelloWorld项目
- 1.4.5 设置PyCharm开发环境
- 1.5 实战项目:复读机
- 1.6 本章小结
- 第2章 基础语法
- 2.1 关键字与标识符
- 2.1.1 关键字
- 2.1.2 标识符
- 2.2 变量
- 2.2.1 变量的定义与使用
- 2.2.2 变量的深拷贝和浅拷贝
- 2.3 运算符的使用
- 2.3.1 算术运算符
- 2.3.2 比较运算符
- 2.3.3 赋值运算符
- 2.3.4 逻辑运算符
- 2.3.5 位运算符
- 2.3.6 成员运算符
- 2.3.7 身份运算符
- 2.3.8 运算符的优先级
- 2.4 编码规范
- 2.4.1 代码注释
- 2.4.2 模块与包
- 2.4.3 编码缩进
- 2.5 实战项目:猜数字游戏
- 2.6 本章小结
- 第3章 数据类型
- 3.1 数字类型
- 3.1.1 整型数据的进制与转换
- 3.1.2 浮点数的精度处理
- 3.1.3 布尔型数据的逻辑运算
- 3.1.4 复数的使用与运算
- 3.2 字符串类型
- 3.2.1 定义与使用
- 3.2.2 格式化操作
- 3.2.3 使用运算符
- 3.2.4 大小写转换:capitalize()
- 3.2.5 大写转小写:lower()
- 3.2.6 小写转大写:upper()
- 3.2.7 大小写切换:swapcase()
- 3.2.8 查找索引:find()
- 3.2.9 查找索引:index()
- 3.2.10 序列拼接字符串:join()
- 3.2.11 分隔字符串:split()
- 3.2.12 单个替换:replace()
- 3.2.13 类型检测:isalnum()、isalpha()和isdigit()
- 3.3 实战项目:客服热线
- 3.4 本章小结
- 第4章 元组和列表
- 4.1 序列的操作
- 4.1.1 索引的正负值
- 4.1.2 元素截取操作
- 4.1.3 相加与相乘
- 4.1.4 检测元素是否存在
- 4.2 元组的操作
- 4.2.1 基本操作
- 4.2.2 计算长度:len()
- 4.2.3 最大值和最小值:max()和min()
- 4.2.4 累加求和:sum()
- 4.2.5 格式转换:tuple()
- 4.2.6 查找索引:index()
- 4.2.7 计算出现次数:count()
- 4.3 列表的操作
- 4.3.1 基本操作
- 4.3.2 新增元素:append()
- 4.3.3 插入元素:insert()
- 4.3.4 新增多个元素:extend()
- 4.3.5 移除元素:pop()
- 4.3.6 移除元素:remove()
- 4.3.7 列表反转:reverse()
- 4.3.8 列表排序:sort()与sorted()
- 4.3.9 清空列表:clear()
- 4.3.10 复制列表:copy()
- 4.3.11 格式转换:list()
- 4.4 实战项目:“营救村民”游戏
- 4.5 本章小结
- 第5章 集合和字典
- 5.1 集合的创建与操作
- 5.1.1 添加元素:add()和update()
- 5.1.2 删除元素:pop()、remove()和discard()
- 5.1.3 获取两个集合的交集:intersection()
- 5.1.4 获取两个集合的并集:union()
- 5.1.5 获取两个集合的差集:difference()
- 5.1.6 判断子集:issubset()和issuperset()
- 5.1.7 格式转换:set()
- 5.2 字典的创建与操作
- 5.2.1 基本操作
- 5.2.2 获取键值:get()和setdefault()
- 5.2.3 删除键值对:pop()和popitem()
- 5.2.4 获取所有键:keys()
- 5.2.5 获取所有值:values()
- 5.2.6 获取所有键值:items()
- 5.2.7 更新字典:update()
- 5.2.8 格式转换:dict()
- 5.3 实战项目:社交功能“好友推荐”
- 5.4 本章小结
- 第6章 流程控制语句
- 6.1 条件判断
- 6.1.1 if语句
- 6.1.2 if嵌套
- 6.2 循环遍历
- 6.2.1 for循环
- 6.2.2 while循环
- 6.2.3 终止循环:break
- 6.2.4 跳过本次循环:continue
- 6.2.5 空语句:pass
- 6.3 三目运算符
- 6.4 推导式
- 6.5 实战项目:个人健康评测
- 6.6 本章小结
- 第7章 函数
- 7.1 内置函数
- 7.2 自定义函数
- 7.3 函数参数
- 7.3.1 形参与实参
- 7.3.2 必选参数
- 7.3.3 默认参数
- 7.3.4 关键字参数
- 7.3.5 可变参数
- 7.3.6 设置数据类型
- 7.4 函数返回值
- 7.5 函数调用过程
- 7.6 变量的作用域
- 7.7 递归函数
- 7.8 匿名函数
- 7.9 偏函数
- 7.10 实战项目:排序算法
- 7.10.1 冒泡排序
- 7.10.2 选择排序
- 7.10.3 插入排序
- 7.10.4 希尔排序
- 7.10.5 归并排序
- 7.11 本章小结
- 第8章 面向对象编程
- 8.1 对象与类
- 8.2 类的自定义与使用
- 8.2.1 类的定义
- 8.2.2 类的内置属性和方法
- 8.2.3 静态方法、类方法和实例方法
- 8.2.4 类的property属性
- 8.2.5 类的实例化与使用
- 8.2.6 动态添加类的属性和方法
- 8.2.7 内置属性:__slots__
- 8.3 类的封装
- 8.4 类的继承
- 8.5 内置函数:super()
- 8.6 类的多态
- 8.7 动态创建类
- 8.8 创建类的类:元类
- 8.9 实战项目:家庭游戏
- 8.10 本章小结
- 第9章 高级特性
- 9.1 迭代器
- 9.1.1 认识迭代器
- 9.1.2 自定义迭代器
- 9.1.3 迭代器的作用与扩展
- 9.2 生成器
- 9.3 装饰器
- 9.3.1 无参数的函数装饰器
- 9.3.2 带参数的函数装饰器
- 9.3.3 使用类定义装饰器
- 9.3.4 装饰器在类中的应用
- 9.4 实战项目:工厂模式
- 9.5 本章小结
- 第10章 异常机制
- 10.1 异常的类型
- 10.2 捕捉异常
- 10.3 自定义异常
- 10.4 异常的追踪术
- 10.5 实战项目:狼人游戏
- 10.6 本章小结
- 第11章 模块与包
- 11.1 模块的导入与使用
- 11.2 包的导入与使用
- 11.3 导入方式from…import…
- 11.4 重命名模块与包
- 11.5 自定义模块与包
- 11.6 重新加载模块与包
- 11.7 动态添加模块与包
- 11.8 打包模块与包
- 11.9 安装第三方模块与包
- 11.10 实战项目:可扩展的答题系统
- 11.11 本章小结
- 第12章 日期与时间
- 12.1 日期与时间的类型
- 12.2 calendar模块
- 12.3 time模块
- 12.4 datetime模块
- 12.5 实战项目:限时支付
- 12.6 本章小结
- 第13章 文件处理
- 13.1 使用os模块处理文件与目录
- 13.2 使用open()读写TXT文件
- 13.3 使用configparser读写配置文件
- 13.4 使用csv读写CSV文件
- 13.5 使用xlrd和xlwt读写Excel文件
- 13.6 使用python-docx读写Word文件
- 13.7 实战项目:多文件读写功能
- 13.8 本章小结
- 第14章 进程、线程与协程
- 14.1 为什么会有GIL
- 14.2 进程、线程与协程的区别
- 14.3 使用多线程
- 14.3.1 使用线程
- 14.3.2 守护线程
- 14.3.3 等待线程结束
- 14.3.4 多线程共享全局变量
- 14.3.5 互斥锁
- 14.3.6 信号量
- 14.3.7 线程事件
- 14.4 基于进程的并行
- 14.4.1 守护进程
- 14.4.2 等待进程结束
- 14.4.3 互斥锁
- 14.4.4 通信和共享数据
- 14.4.5 信号量
- 14.4.6 进程事件
- 14.4.7 进程池
- 14.5 使用concurrent.futures执行并行任务
- 14.5.1 获取任务的执行结果
- 14.5.2 设置回调函数
- 14.5.3 取消任务
- 14.5.4 处理异常
- 14.6 协程的应用
- 14.6.1 yield与yield from
- 14.6.2 异步并发asyncio与async/await
- 14.7 实战项目:生产者和消费者模式
- 14.8 本章小结
- 第15章 数据库编程
- 15.1 SQLite的应用
- 15.1.1 连接并创建数据表
- 15.1.2 新增数据
- 15.1.3 更新数据
- 15.1.4 删除数据
- 15.1.5 查询数据
- 15.2 MySQL的应用
- 15.2.1 MySQL的安装与使用
- 15.2.2 连接并创建数据表
- 15.2.3 新增数据
- 15.2.4 更新数据
- 15.2.5 删除数据
- 15.2.6 查询数据
- 15.3 MongoDB的应用
- 15.3.1 MongoDB的安装与使用
- 15.3.2 连接MongoDB
- 15.3.3 新增文档
- 15.3.4 更新文档
- 15.3.5 删除文档
- 15.3.6 查询文档
- 15.4 Redis的应用
- 15.4.1 Redis的安装与使用
- 15.4.2 连接Redis
- 15.4.3 新增数据
- 15.4.4 更新数据
- 15.4.5 删除数据
- 15.4.6 查询数据
- 15.5 ORM框架SQLAlchemy
- 15.5.1 SQLAlchemy框架的概述与安装
- 15.5.2 连接数据库
- 15.5.3 创建数据表
- 15.5.4 新增数据
- 15.5.5 更新数据
- 15.5.6 删除数据
- 15.5.7 查询数据
- 15.6 实战项目:多数据库读写功能
- 15.7 本章小结
- 第16章 使用Selenium实现网页操作自动化
- 16.1 了解Selenium
- 16.2 安装Selenium
- 16.3 使用浏览器查找元素
- 16.4 使用Selenium定位元素
- 16.5 使用Selenium操控元素
- 16.6 Selenium常用功能
- 16.7 实战项目:百度登录与答题
- 16.8 本章小结
- 第17章 使用Requests实现自动爬取网页数据
- 17.1 分析网站接口
- 17.2 Requests的安装
- 17.3 简单的请求方式
- 17.4 复杂的请求方式
- 17.5 文件下载与上传
- 17.6 实战项目:12306车次查询
- 17.7 本章小结
- 第18章 办公自动化编程
- 18.1 使用PyAutoGUI模拟人工操作
- 18.1.1 PyAutoGUI概述及安装
- 18.1.2 截图与识别
- 18.1.3 鼠标控制功能
- 18.1.4 键盘控制功能
- 18.1.5 消息框功能
- 18.1.6 实战项目:百度自动登录
- 18.2 实现软件的自动化操作
- 18.2.1 PyWinAuto概述及安装
- 18.2.2 查找软件信息
- 18.2.3 连接CS软件
- 18.2.4 基于uia的软件操控
- 18.2.5 基于Win32的软件操控
- 18.2.6 从源码剖析PyWinAuto
- 18.2.7 实战项目:自动撰写新闻稿
- 18.3 本章小结
- 第19章 使用OpenCV实现图像识别与定位
- 19.1 OpenCV概述及安装
- 19.2 图像特征点检测算法
- 19.3 图像匹配与定位
- 19.4 实战项目:自动打印PDF文件
- 19.5 本章小结
- 第20章 自动化Web系统的开发与部署
- 20.1 用Flask快速实现一个网站
- 20.1.1 概述与安装
- 20.1.2 快速实现一个简单的网站系统
- 20.1.3 路由编写规则
- 20.1.4 请求参数
- 20.1.5 响应过程
- 20.2 任务系统的开发与部署
- 20.2.1 系统设计概述
- 20.2.2 搭建开发环境
- 20.2.3 任务调度系统
- 20.2.4 任务执行系统
- 20.2.5 系统上线部署
- 20.3 本章小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。