目录
案例源码
第1章绪论
1.1Python语言简介
1.1.1诞生背景
1.1.2发展现状
1.1.3未来趋势
1.2Python语言特色
1.2.1设计哲学
1.2.2语言特点
1.3Python应用领域
1.4Python人才技能分析
1.5学习Python的SWOT分析
1.5.1优势
1.5.2劣势
1.5.3机会
1.5.4威胁
1.6本书的知识体系结构
1.6.1教学内容设计
1.6.2教学设计特色
1.6.3教辅资源丰富
1.7本书适合的读者
1.8如何掌握本书内容
1.9本章小结
1.10习题
第2章Python程序开发环境
2.1Python开发环境
2.1.1开发环境组成
2.1.2系统版本类别
2.2Python系统层——软件安装
2.2.1安装: Python系统软件
2.2.2检查: Python开发环境
2.2.3体验: IDLE开发环境
2.2.4配置: 虚拟开发环境
2.3Python扩展层——模块维护
2.3.1查看: pip list、pip show、pip freeze
2.3.2安装: pip install、pip install U
2.3.3下载: pip download
2.3.4卸载: pip uninstall
2.4Python应用层——集成开发环境
2.4.1轻量级: Spyder集成开发工具
2.4.2演示级: Jupyter Notebook、Lab集成开发工具
2.4.3专业级: PyCharm集成开发工具
2.5Python帮助系统
2.5.1静态: 帮助文档
2.5.2动态: 帮助函数
2.5.3在线: 服务系统
2.5.4检索: 案例代码
2.6教材配套Python Education Tools
2.6.1模块的安装
2.6.2模块的使用
2.7编写第一个入门程序
2.7.1打印中英文本程序
2.7.2朗诵中英文文本程序
2.8本章小结
2.9习题
第3章Python程序设计基本概念
3.1Python程序概念
3.1.1程序的定义
3.1.2程序的编写
3.1.3程序的运行
3.1.4程序的文件类型
3.2Python源程序的组成
3.2.1程序代码示例
3.2.2编码格式声明
3.2.3注释与文档属性
3.2.4程序中的变量
3.2.5程序中的代码块
3.3Python的标识符
3.3.1标识符的作用
3.3.2命名规则
3.3.3特殊标识符
3.4Python内置要素
3.4.1关键词
3.4.2内置常量
3.4.3内置函数
3.4.4名字空间
3.4.5综合案例: 探究变量在名字空间内的变化
3.5Python代码的组织与使用
3.5.1模块
3.5.2常用的模块
3.5.3包
3.5.4模块与包的区别
3.6本章小结
3.7习题
第4章Python的数据类型
4.1内置数据类型分类
4.2数字类型
4.2.1整型、浮点类型
4.2.2随机数的生成
4.2.3数字类型运算符
4.2.4布尔类型
4.2.5布尔运算符
4.2.6其他数字类型
4.2.7综合案例: 数字加密程序
4.3序列类型
4.3.1序列的共性
4.3.2常用序列: list、range、tuple
4.3.3字符序列: str
4.3.4字节序列: bytes、bytearray、memoryview
4.3.5综合案例1: 条件赋值
4.3.6综合案例2: 学生成绩评定程序
4.3.7综合案例3: 三个玩家摸牌游戏
4.4集合类型
4.4.1集合种类: set、frozenset
4.4.2集合的创建
4.4.3集合相关运算
4.4.4综合案例1: 集合运算演示
4.4.5综合案例2: 彩票投注游戏
4.5字典类型: dict
4.5.1字典的创建
4.5.2字典相关运算
4.5.3综合案例: 字典数据的合并
4.6数据的整合
4.6.1首尾“串接”数据: chain()函数
4.6.2交错“编织”数据: zip()函数
4.6.3综合案例: 一维滑动窗口数据的获取
4.7collections模块中的数据类型
4.7.1计数器: Counter
4.7.2双向队列: deque
4.7.3命名元组: namedtuple
4.7.4有序字典: OrderedDict
4.7.5默认字典: defaultdict
4.7.6综合案例
4.8本章小结
4.9习题
第5章程序流控制与异常处理
5.1程序流控制
5.2if条件语句
5.2.1if条件控制语句
5.2.2if条件表达式语句
5.3循环语句
5.3.1forin循环语句
5.3.2while循环语句
5.4匹配控制语句
5.4.1简单的matchcase语句
5.4.2复杂的matchcase语句
5.5无条件控制语句
5.5.1pass空语句
5.5.2break跳转语句
5.5.3continue跳转语句
5.6异常流的处理
5.6.1断言assert
5.6.2异常捕获与处理
5.7综合案例
5.7.1案例: 趣味语音点名程序
5.7.2案例: 粉丝群统计与查询
5.7.3案例: 测试Python对象类型
5.8本章小结
5.9习题
第6章函数及其高级应用
6.1函数简介
6.1.1函数的定义
6.1.2函数的文档
6.1.3变量的作用域
6.2函数的形参与实参传递
6.2.1位置参数传递
6.2.2默认参数值传递
6.2.3关键字参数传递
6.2.4可变参数传递
6.2.5综合案例: 函数多种参数定义
6.3lambda函数
6.3.1lambda语法
6.3.2综合案例: lambda函数用于排序
6.4推导式——行函数
6.4.1元组、列表、集合推导式
6.4.2字典推导式
6.4.3综合案例1: 模糊逻辑控制
6.4.4综合案例2: 创建Python关键词字典
6.4.5综合案例3: 构建字符串中字符索引列表
6.5复合函数
6.5.1过滤函数: filter()
6.5.2映射函数: map()
6.5.3归并函数: reduce()
6.5.4综合案例1: 数据过滤、映射与归并
6.5.5综合案例2: 一维滑动窗口通用函数的实现
6.5.6综合案例3: 多个字典的数值求和函数的实现
6.6函数的高级应用
6.6.1装饰器: decorator
6.6.2闭包: closure
6.6.3生成器: generator
6.6.4迭代器: Iterator
6.6.5综合案例: 斐波那契数列数据的生成
6.7执行函数
6.7.1执行字符串表达式: eval()
6.7.2执行字符串代码: exec()
6.7.3综合案例: 执行外部Python程序
6.8本章小结
6.9习题
第7章面向对象程序设计
7.1程序设计方法
7.1.1对事物的认知
7.1.2面向对象分析
7.2类的设计
7.2.1类的声明
7.2.2类中的变量
7.2.3类中的方法
7.2.4对象的创建
7.3类的进阶设计
7.3.1类的封装
7.3.2类的继承
7.3.3类的多态性
7.3.4可迭代对象
7.3.5函数伪装成属性
7.3.6类的运算符重载
7.3.7抽象类
7.4函数式与面向对象编程对比
7.4.1函数式编程的优缺点
7.4.2面向对象编程的优缺点
7.4.3编程方法的选择
7.5综合案例: 狼与虎互搏游戏的模拟
7.6本章小结
7.7习题
第8章文件与目录操作
8.1Python的文件处理
8.1.1操作文件: 打开与关闭
8.1.2应对异常: 捕获与处理
8.1.3位置指针: 定位与读写
8.1.4综合案例1: 探究文件各种读写模式
8.1.5综合案例2: 文件的创建、读写、追加
8.2Python的输入输出流
8.2.1输入流、输出流、错误流
8.2.2输入输出流的重定向
8.2.3综合案例: 利用流的重定向制作文档
8.3常见格式文件读写
8.3.1对象读写: Json格式文件
8.3.2顺序读写: pickle格式文件
8.3.3(键,值)读写: shelve格式文件
8.3.4压缩文件读写: zip与tar格式文件
8.3.5其他格式读写
8.3.6综合案例1: 简易数据库管理系统
8.3.7综合案例2: 面向对象数据库管理系统
8.4目录与文件操作
8.4.1模块介绍: pathlib
8.4.2目录与文件路径的构成
8.4.3目录的创建、遍历、删除
8.4.4文件的快捷读写
8.4.5文件与目录操作
8.4.6压缩文件的创建
8.4.7模块功能函数对比: pathlib与os
8.4.8综合案例1: 文本文件内容合并
8.4.9综合案例2: 自动配置pip镜像服务器
8.5本章小结
8.6习题
第9章网络爬虫设计
9.1网络爬虫常识
9.1.1网络爬虫的概念
9.1.2网络爬虫的原理
9.1.3网络爬虫的规范
9.1.4常见的网络爬虫技术
9.1.5常见的反爬技术
9.2网络爬虫开发基础
9.2.1网页结构简介: HTML
9.2.2网页内容定位: CSS与Xpath
9.2.3网页分析工具: Chrome
9.2.4爬虫开发工具: RequestsHTML
9.2.5网页服务请求: get()、post()
9.2.6网页服务的响应: Response
9.2.7特殊网页的渲染: JavaScript页面
9.2.8综合案例: 剖析爬虫与服务器的对话
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案例: 获取JavaScript渲染网页
9.4.4案例: 获取热搜、游戏、电影排行榜
9.5本章小结
9.6习题
第10章文本数据处理与分析
10.1文本数据处理和分析
10.2文本处理业务逻辑
10.2.1字符串模式描述层
10.2.2字符串处理实现层
10.2.3描述层、实现层层间关系
10.3字符串模式描述层: 正则表达式
10.3.1正则表达式的构成
10.3.2正则表达式的编写
10.4字符串处理实现层: 正则表达式处理
10.4.1字符串匹配、查找、分割、替换: Pattern对象
10.4.2字符串匹配、查找、分割、替换: re模块
10.5文本处理综合案例
10.5.1案例: 按照规则修改文本中数据
10.5.2案例: 从复杂文本中提取特定信息
10.5.3案例: 获取计算机登录过的WiFi密码
10.6中文数据处理与分析
10.6.1中文文本分词
10.6.2关键字的提取
10.6.3中文文本可视化
10.6.4综合案例: 个性化词云图的制作
10.6.5中文情感分析
10.7文本分析综合案例
10.7.1案例: 文本的情感分析
10.7.2案例: 中文分析综合案例
10.8本章小结
10.9习题
第11章NumPy与数学运算
11.1NumPy模块简介
11.2核心内容介绍: ndarray
11.2.1核心知识
11.2.2数据类型
11.2.3对象属性
11.3对象创建
11.3.1基本对象创建
11.3.2特殊对象创建
11.4对象输入、输出
11.4.1文本格式: *.txt
11.4.2二进制格式: *.npy或*.npz
11.5形状重塑
11.5.1形状修改
11.5.2升维降维
11.5.3广播机制
11.6元素操作
11.6.1对象拼接
11.6.2元素增加
11.6.3元素删除
11.6.4元素切片
11.6.5元素遍历
11.7通用函数
11.7.1常用的数学函数
11.7.2常用的统计函数
11.7.3常用的排序、条件筛选函数
11.8向量运算
11.8.1向量加、减法
11.8.2向量数乘、点积
11.8.3向量长度、归一化
11.8.4向量间夹角、距离
11.8.5向量的相似度计算
11.9矩阵运算
11.9.1矩阵加、减法
11.9.2矩阵乘法
11.9.3矩阵的逆矩阵
11.9.4矩阵的除法
11.9.5矩阵转置
11.9.6矩阵行列式
11.9.7特征值和特征向量
11.10综合案例: 趣味图像处理
11.10.1图像处理模块: Pillow
11.10.2图像与ndarray互转
11.10.3自建ndarray并转为图像
11.10.4通过数组切片得到局部图像
11.10.5通过数组拼接得到拼接图像
11.11本章小结
11.12习题
第12章Pandas数据分析
12.1Pandas简介
12.1.1合法数据类型
12.1.2非法数据标记
12.1.3数据类型转换
12.1.4数据输入与输出
12.1.5综合案例: 获取网页表格数据
12.2Series数据结构
12.2.1Series对象创建
12.2.2Series对象输入与输出
12.2.3Series对象属性
12.2.4Series数据清洗
12.2.5Series数据选取
12.2.6Series索引操作
12.2.7Series数据处理
12.2.8Series数据统计分析
12.2.9Series数据可视化
12.2.10综合案例: 自媒体收入数据分析
12.3DataFrame数据结构
12.3.1DataFrame对象创建
12.3.2DataFrame对象输入输出
12.3.3DataFrame对象的属性
12.3.4DataFrame数据集成
12.3.5DataFrame索引操作
12.3.6DataFrame数据选取
12.3.7DataFrame数据查询
12.3.8DataFrame数据处理
12.3.9DataFrame数据统计分析
12.3.10DataFrame时间序列分析
12.3.11DataFrame数据可视化
12.4综合案例1: 目录中的文件信息收集
12.5综合案例2: 上海地铁站点的数据分析
12.6本章小结
12.7习题
第13章数据可视化
13.1数据可视化基础
13.1.1数据可视化的分类
13.1.2数据分布统计特征
13.1.3数据间的关联特征
13.1.4类间特征横向对比
13.1.5数据回归模型分析
13.1.6数据可视化的误区
13.2数据可视化的流程
13.2.1数据集的加载
13.2.2数据集预处理
13.2.3绘图工具模块: Seaborn
13.2.4绘图环境配置
13.2.5绘图结果输出
13.3数据分布可视化
13.3.1单变量分布图: displot()
13.3.2双变量分布图: displot()
13.3.3双变量联合分布图: jointplot()
13.3.4多变量组合分布图: pairplot()
13.4数据间关联可视化
13.4.1双变量散点图: relplot()
13.4.2双变量折线图: relplot()
13.5类间特征对比可视化
13.5.1分类散点对比图: catplot()
13.5.2分类分布对比图: catplot()
13.5.3类内观测对比图: catplot()
13.6数据回归模型可视化
13.6.1回归模型分析图: regplot()
13.6.2线性模型分析图: lmplot ()
13.6.3回归函数的区别: regplot()与lmplot()
13.6.4回归模型的参数
13.6.5模型质量的评估: residplot()
13.7本章小结
13.8习题
结束语
参考文献
