全书共10 章。第1 章介绍Python 开发环境的搭建、简单使用和Python 代码规范;第2 章讲解Python 内置对象与运算符的使用;第3 章讲解列表、元组、列表推导式与生成器表达式以及切片和序列解包的用法;第4 章讲解字典应用;第5 章讲解集合应用;第6 章讲解字符串与正则表达式的应用;第7 章讲解选择结构与循环结构语法和应用;第8 章讲解函数设计与应用;第9 章讲解文本文件操作、二进制文件操作、Office 文档操作以及文件夹操作;第10 章讲解如何使用Python 扩展库numpy 和pandas 处理数据。
本书全部代码适用于Python 3.5/3.6/3.7 以及更新的版本。本书可以作为数据科学与大数据技术专业和计算机、电子信息等其他相关专业的Python 程序设计课程教材,也可以作为相关的工程技术人员学习Python 程序设计时的快速入门参考书。
前 言
本书是机械工业出版社策划的普通高等教育十三五人工智能与大数据规划教材中的一本,根据丛书的总体设计,本书定名为《大数据的Python 基础》。虽然在整理内容时确实适当增加了数据分析与处理需要用到的Python 基础知识和相关案例,但实际上大部分内容是使用Python 做任何领域的开发都要用到的基础,毕竟基础知识是通用的。全书共72 个例题,文件操作的案例稍多一些,不管是日常工作还是数据采集与分析,都用得到。还有很多例子是隐藏在基础知识和代码片段中的,需要仔细挖掘和体会。
笔者个人建议,书上的内容至少要阅读三遍。第一遍通览全书,快速了解总体内容和知识框架,并大概了解一些术语。第二遍仔细阅读并认真练习每一段代码和每一个例题,动手输入并运行这些代码,确保结果正确。第三遍重点体会书上的代码为什么要这样写,想想还有没有更好的写法,思考一下每个代码片段主要解决了什么问题,不同代码片段和例题的集成又可以解决哪些问题。
本书全部代码适用于Python 3.5/3.6/3.7 以及更新的版本,可以作为Python 爱好者的快速入门参考书,也可以作为数据科学与大数据技术专业和计算机、电子信息等其他相关专业的Python 程序设计课程教材。作为教材建议采用32 学时或48 学时。
欢迎关注笔者的微信公众号Python 小屋,免费阅读超过800 篇原创Python 技术文章或者免费观看超过300 节Python 微课,虽然微课中的案例与本书并不完全一样,但是很多知识点是相通的,可以触类旁通,也有助于对本书中案例的学习和理解。选用本书作教材的教师可以在笔者的微信公众号文章中选择更多习题和实验项目用于教学。如果广大读者朋友和用书教师发现书中不足之处,欢迎通过微信公众号留言或者用电子邮箱dongfuguo2005@126.com 与笔者联系,在此表示衷心感谢!
董付国
目 录
前言
学时分配建议
第1章Python开发环境搭建与使用 1 本章学习目标 1
1.1Python 语言概述 1
1.2Python 开发环境搭建 2
1.2.1 IDLE 2
1.2.2 Anaconda3 3
1.3安装扩展库 5
1.4标准库与扩展库对象的导入与使用 7
1.5 Python 代码布局规范 8
本章知识要点 9
习题 9
第2章Python常用内置对象与运算符 10
本章学习目标 10
2.1Python 常用内置对象 10
2.1.1 常量与变量 11
2.1.2 数字 13
2.1.3 字符串 14
2.1.4 列表、元组、字典、集合 15
2.2Python 运算符与表达式 15
2.2.1 算术运算符 16
2.2.2 关系运算符 18
2.2.3 成员测试运算符 19
2.2.4 集合运算符 19
2.2.5 逻辑运算符 19
2.3Python 常用内置函数 20
2.3.1 类型转换函数 22
2.3.2 max() 、min() 、sum() 25
2.3.3 input() 、print() 26
2.3.4 sorted() 、reversed() 27
2.3.5 map() 29
2.3.6 reduce() 30
2.3.7 filter() 31
大数据的Python基础
2.3.8 range() 32
2.3.9 zip() 32
本章知识要点 33
习题 34
第3章列表与元组 35
本章学习目标 35
3.1 列表 35
3.1.1 列表创建与删除 35
3.1.2 列表元素访问 36
3.1.3 列表常用方法 37
3.1.4 列表对象支持的运算符 39
3.1.5 内置函数对列表的操作 40
3.2 列表推导式语法与应用 41
3.3 元组与生成器表达式 45
3.3.1 元组创建与元素访问 45
3.3.2 元组与列表的区别 45
3.3.3 生成器表达式 46
3.4 切片语法与应用 47
3.5 序列解包 49
本章知识要点 50
习题 50 第4章字典 52
本章学习目标 52
4.1 基本概念 52
4.2 字典创建与删除 52
4.3 字典元素访问 53
4.4 字典元素添加、修改与删除 54
4.5 字典应用案例 55
本章知识要点 57
习题 58 第5章集合 59
本章学习目标 59
5.1 基本概念 59
5.2 集合创建与删除 59
5.3 集合常用操作与运算 60
5.3.1 集合元素增加与删除 60
5.3.2 集合运算 61
5.3.3 内置函数对集合的操作 61
5.4 集合应用案例 62
目 录VII
本章知识要点 64 习题 65 第6章字符串与正则表达式 66 本章学习目标 66
6.1 字符串编码格式 66
6.2 转义字符与原始字符串 67
6.3 字符串常用方法与操作 67
6.3.1 format() 68
6.3.2 encode() 69
6.3.3 find() 、rfind() 、index() 、rindex() 、count() 70
6.3.4 split() 、rsplit() 71
6.3.5 join() 72
6.3.6 lower() 、upper()、capitalize() 、title() 、swapcase() 72
6.3.7 replace() 、maketrans() 、translate() 73
6.3.8 strip() 、rstrip() 、lstrip() 74
6.3.9 startswith() 、endswith() 75
6.3.10 isalnum() 、isalpha() 、isdigit() 、isspace() 、isupper() 、islower() 75
6.3.11 center() 、ljust() 、rjust() 75
6.3.12 字符串支持的运算符 76
6.3.13 适用于字符串的内置函数 76
6.3.14 字符串切片 77
6.3.15 数据压缩与解压缩 78
6.4 正则表达式语法与应用 78
6.4.1 正则表达式基本语法 78
6.4.2 使用正则表达式模块re 处理字符串 80
6.5 分词与中文拼音处理 82
6.5.1 分词 82
6.5.2 中文拼音处理 83
6.6 应用案例 84
本章知识要点 93
习题 93
第7章 程序控制结构 95 本章学习目标 95
7.1 基本语法 95
7.1.1 条件表达式 95
7.1.2 选择结构基本语法 95
7.1.3 循环结构基本语法 98
7.1.4 异常处理结构基本语法 99
7.2 应用案例 100
大数据的Python基础
本章知识要点 103
习题 103
第8章函数设计与应用 104
本章学习目标 104
8.1 函数定义与使用 104
8.1.1 基本语法 104
8.1.2 递归函数 105
8.1.3 函数嵌套定义 106
8.2 函数参数 107
8.2.1 位置参数 107
8.2.2 默认值参数 108
8.2.3 关键参数 108
8.2.4 可变长度参数 109
8.3 变量作用域 110
8.4 lambda 表达式 111
8.5 生成器函数 112
8.6 应用案例 113
本章知识要点 122
习题 123
第9章文件与文件夹操作 124
本章学习目标 124
9.1 文件的概念及分类 124
9.2 文件操作基本知识 125
9.2.1 内置函数open() 125
9.2.2 文件对象常用方法 125
9.2.3 上下文管理语句with 126
9.3 文本文件内容操作案例 126
9.4 JSON 文件操作 127
9.5 CSV 文件操作 129
9.6 二进制文件操作 129
9.6.1 使用pickle 模块读写二进制文件 130
9.6.2 使用struct 模块读写二进制文件 131
9.7 标准库对文件与文件夹的操作 132
9.7.1 os 模块 132
9.7.2 os.path 模块 133
9.7.3 shutil 模块 134
9.8 Excel 与Word 文件操作案例 136
本章知识要点 148 习题 148
目 录IX
第10章numpy与pandas基础 149 本章学习目标 149
10.1 numpy 数组运算与矩阵运算基础 149
10.1.1 数组生成与常用操作 149
10.1.2 矩阵生成与常用操作 160
10.1.3 计算特征值与特征向量 164
10.1.4 计算逆矩阵 165
10.1.5 矩阵QR 分解 165
10.1.6 计算行列式 165
10.1.7 矩阵奇异值分解 166
10.1.8 求解线性方程组 167
10.1.9 计算矩阵和向量的范数 167
10.2 pandas 数据处理基础 167
10.2.1 一维数组Series 与常用索引数组生成与操作 168
10.2.2 创建二维数组DataFrame 171
10.2.3 DataFrame 常用操作 173
10.2.4 缺失值处理 178
10.2.5 重复值处理 179
10.2.6 异常值处理 180
10.2.7 分组计算 181
10.2.8 透视转换与交叉表 182
10.2.9 数据差分 184
10.2.10 计算相关系数 185
本章知识要点 186
习题 187
习题答案 188
附录 189
附录A Python 编程常见问题与解答 189
附录B Python 关键字清单 192
附录C 常用Python 内置模块与标准库清单 193
附录D 常用Python 扩展库清单 194
参考文献 195