本书从Python的基本语法入手,由浅入深、循序渐进地引领读者从Python的基本程序开始,逐步进入Python数据爬取、数据分析、机器学习等内容的学习。本书内容分为5个项目,第1个项目介绍了Python的基本程序结构,包括Python的条件、循环、异常等程序语句与结构。第2个项目介绍了函数与模块、字符串、列表、元组、字典、集合等数据类型的应用与文件操作。第3个项目介绍了Web程序的基本概念与Python爬取Web网站数据的基本方法。第4个项目介绍了NumPy、Pandas、Matplotlib等Python数据分析模块的操作与应用。第5个项目介绍了K-means、KNN、线性回归等机器学习的基本方法,同时介绍了sklearn机器学习库的基本应用。为了进一步学习与巩固所学知识与技能,在各项目的结尾都设计了一个综合任务。
本书可作为高职高专院校大数据技术与应用、计算机信息管理、云计算技术与应用等专业的教材,也可作为从事大数据开发的专业技术人员的参考书。相关教学课件请登录www.xduph.com进行下载。
Python语言具有开源、免费、功能强大、语法简洁清晰、简单易学、数据类型丰富、面向对象等特点,非常适合初学者学习。而且Python有十分丰富的程序包来满足用户需求,这也是Python的魅力所在。近年来Python语言在数据分析、人工智能等领域得到了广泛的应用。
如果你是一个初学者,想学习Python程序设计基础、Python数据分析、Python机器学习基础,那么本书是很合适的选择。
本书采用项目驱动的模式编写,全书共5个项目,涵盖了Python程序基础、数据分析、机器学习等基本知识与技能。第1个项目为“Python程序设计基础”,介绍了Python的基本程序结构,包括Python的条件、循环、异常等程序语句与结构。第2个项目为“Python程序设计进阶”,介绍了函数与模块、字符串、列表、元组、字典、集合等数据类型的应用与文件操作。第3个项目为“Python数据采集基础”,介绍了Web程序的基本概念与Python爬取Web网站数据的基本方法。第4个项目为“Python数据分析基础”介绍了NumPy、Pandas、Matplotlib等Python数据分析模块的操作与应用。第5个项目为“Python机器学习基础”,介绍了K-means、KNN、线性回归等机器学习的基本方法,同时介绍了sklearn机器学习库的基本应用。为了进一步学习与巩固所学知识与技能,在各项目的结尾都设计了一个综合任务。
要学习好一门程序语言,除了要掌握语言的基本规则外,还要经过大量的实践,学习程序设计是一个“学中做、做中学”的循环过程。只有把学习的知识应用到实践中,才能巩固所学知识,提高编程技能。
本书是深圳信息职业技术学院的一线教师经过多年的教学积累,对讲义进行改
编与完善后编写完成的,适合职业院校相关专业作为教材使用,建议教学学时为54
学时。
由于作者水平有限,难免有考虑不周或疏漏之处,欢迎广大读者批评指正。
项目1 Python程序设计基础 1
任务1.1 认识Python 1
1.1.1 Python简介 1
1.1.2 Python与数据分析 2
任务1.2 搭建开发环境 2
1.2.1 Python的安装 2
1.2.2 Python IDE简介 3
1.2.3 编写Python程序 4
任务1.3 程序基本结构 6
1.3.1 标识符变量与保留字符 6
1.3.2 缩进和多行语句 8
1.3.3 引号与注释 8
1.3.4 输出与中文编码 9
任务1.4 数据类型 10
1.4.1 常用数据类型 10
1.4.2 运算符 10
1.4.3 成员与身份运算符 12
1.4.4 格式化输出 13
任务1.5 条件分支语句 15
1.5.1 条件语句 15
1.5.2 复杂条件语句 17
任务1.6 while循环 19
1.6.1 while循环语句 19
1.6.2 循环的退出 21
任务1.7 for循环 24
1.7.1 for循环语句 24
1.7.2 for循环的退出 25
1.7.3 for循环注意事项 26
1.7.4 嵌套结构 27
任务1.8 异常处理 30
1.8.1 异常情况 30
1.8.2 异常语句 31
1.8.3 抛出异常 32
1.8.4 简单异常语句 33
综合任务 打印万年日历 34
一、项目背景 34
二、项目设计 35
三、程序代码 36
练习 37
项目2 Python程序设计进阶 38
任务2.1 Python函数 38
2.1.1 函数定义 38
2.1.2 变量范围 41
2.1.3 函数默认参数 43
2.1.4 匿名函数 45
任务2.2 Python模块 45
2.2.1 Python模块 45
2.2.2 math模块 46
2.2.3 时间和日期模块 47
2.2.4 random模块 49
任务2.3 字符串类型 49
2.3.1 字符串类型 49
2.3.2 字符串函数 51
任务2.4 列表与元组类型 57
2.4.1 列表类型 57
2.4.2 列表常用操作函数 60
2.4.3 列表与函数 62
2.4.4 元组类型 63
任务2.5 字典类型 65
2.5.1 字典类型 65
2.5.2 字典操作 65
2.5.3 字典与函数 69
2.5.4 字典参数 70
任务2.6 集合类型 71
2.6.1 认识集合 71
2.6.2 集合操作 72
任务2.7 文件操作 74
2.7.1 读写文本文件 74
2.7.2 读写二进制文件 76
综合任务 学生记录管理 79
一、项目背景 79
二、项目设计 80
三、程序代码 80
练习 84
项目3 Python数据采集基础 86
任务3.1 Flask Web网站 86
3.1.1 Flask创建网站 86
3.1.2 Flask显示静态网页 88
任务3.2 访问Web网站 89
3.2.1 创建Web网站 89
3.2.2 urlib库 90
3.2.3 requests库 91
任务3.3 正则表达式 92
3.3.1 匹配模式 92
3.3.2 re模块与字符基础匹配 92
3.3.3 re模块与字符高级匹配 96
3.3.4 re模块的综合应用 97
任务3.4 Python网络爬虫基础 99
3.4.1 BeautifulSoup爬取数据 99
3.4.2 BeautifulSoup爬虫程序 105
综合任务 爬取城市天气预报 105
一、项目背景 105
二、项目实现 106
三、程序代码 110
练习 111
项目4 Python数据分析基础 113
任务4.1 NumPy科学计算包 113
4.1.1 NumPy简介与安装 113
4.1.2 NumPy数组及其操作 114
4.1.3 NumPy数值计算 123
任务4.2 Pandas数据分析包 131
4.2.1 Pandas安装 131
4.2.2 Series结构及操作 131
4.2.3 DataFrame结构及基本操作 140
4.2.4 DataFrame高级操作 148
任务4.3 Matplotlib数据可视化包 165
4.3.1 Matplotlib安装 165
4.3.2 线图 165
4.3.3 子图 168
4.3.4 饼图 170
4.3.5 散点图 171
4.3.6 柱状图 172
4.3.7 DataFrame绘图 174
综合任务 学生成绩分析 179
一、项目背景 179
二、项目实现 179
三、程序代码 184
练习 186
项目5 Python机器学习基础 188
任务5.1 机器学习简介 188
5.1.1 机器学习概述 188
5.1.2 K-means聚类算法简介 189
5.1.3 KNN分类算法简介 195
5.1.4 线性回归算法简介 198
任务5.2 机器学习库sklearn的应用 201
5.2.1 sklearn的安装 201
5.2.2 K-means算法的应用 201
5.2.3 KNN算法的应用 204
5.2.4 线性回归算法的应用 207
综合任务 城市房价的预测 210
一、项目背景 210
二、项目实现 211
三、程序代码 213
练习 214
参考文献 216