《Python 3快速入门与实战》通过理论与实战相结合的方式,结合大量案例系统地介绍了Python编程涉及的知识点,详细介绍了多个应用场景下使用Python开发的实际项目。本书共16章,分为两部分,第壹部分(1~12章)主要讲解Python编程基础,第二部分(13~16章)主要讲解Python项目实战,旨在帮助读者系统、快速地掌握Python语法,并能够熟练地应用到实战项目中。全书代码适用于Python 3.6以及更高版本。
《Python 3快速入门与实战》读者对象为Python编程的初学者,或者具有Python编程基础想进一步学习Python的编程爱好者;具有其他编程语言基础,想了解和学习Python的相关技术人员;未来准备从事数据科学、机器学习、人工智能、数据分析、数据采集等方向研究和工作的读者。
一本系统介绍Python 3编程基础,通过大量项目案例引领读者快速入门Python编程,掌握使用Python进行数据可视化、爬虫开发、数据分析、机器学习等技能的实战教程。
前言
Python是一种面向对象的解释型编程语言,具有语法简洁、免费开源、跨平台、丰富的第三方库等特点,由被誉为Python之父的Guido van Rossum发明,于1991年发布第一个公开发行版,发展到现在已经有近30年的历史。Python从诞生到现在已经发布了几个大版本,Python核心团队计划在2020年停止支持Python 2,以后不再对其进行维护。目前,Python 3已经成为学习和使用Python的主流。2019年7月TIOBE发布的最新热门编程语言排行榜中,Python位居第三名,因此也证明Python是目前最受欢迎的编程语言之一,并且已经被广泛使用。
近几年,大数据、人工智能等领域发展迅速,工程项目不断落地,相关领域的人才需求呈爆发式增长,人才供给严重失衡。同时随着国内人工智能教育的普及,中小学生、大学生、教师需要相关课程的教材和教辅资料。Python是机器学习、人工智能、数据分析等领域使用最多的编程语言,所谓工欲善其事,必先利其器,Python作为一把利器,可以快速地完成数据处理、数据分析、数据可视化、模型训练等。所以,掌握Python编程是从事机器学习、人工智能、数据分析等领域相关工作必备的技能。
为何写作本书
写作这本书的初衷是将自己工作中的编程和项目经验融合到Python理论知识中,让抽象、枯燥的编程语言的学习更加地生动、有趣。本书侧重实战,不仅系统介绍了Python编程涉及的知识点,同时也会教读者如何使用Python做实际的项目开发。希望通过理论与实战相结合的方式,让更多的编程爱好者快速、系统地掌握Python。也希望读者通过Python的学习,掌握学习编程语言的方法,以后学习其他编程语言会更加的从容。
读者将学到什么
读者朋友可以通过本书的学习可以:
? 快速入门Python编程,系统掌握Python基础语法和进阶知识。
? 具备面向对象编程思想,掌握学习编程语言的方法,学习编程不再愁。
? 了解和学习多种基于Python的实战项目和应用场景,深入理解理论知识。
? 初步了解和掌握Python在数据采集、数据分析、机器学习等领域的应用。
如何阅读本书
本书共16章,分为两部分,第一部分(1~12章)主要介绍Python编程基础,第二部分(13~16章)主要介绍Python项目实战。通过理论与实战相结合的方式介绍Python语法和应用,帮助读者系统、快速地掌握Python语法,并能够熟练地应用到实战项目中。全书代码适用于Python 3.6以及更高版本。
第1章 Python概述,简要介绍Python语言的产生背景及目前的发展情况,Python 3.6、Anaconda 3(集成了Python 3,可以不单独安装Python 3.6)在Windows系统或者Mac系统中的安装配置,目前流行的一款开发工具PyCharm在Windows系统或者Mac系统中的安装配置。
第2章 Python基础,主要介绍Python编程的基础语法,包括注释、标识符、变量、数据类型、输入输出函数、运算符、字符串、if条件判断语句、while循环与for循环。
第3章 容器,主要介绍Python中常用的四种数据结构,包括列表、元组、字典、集合。
第4章 函数,主要介绍函数的定义、参数、返回值、变量作用域、递归函数、匿名函数、闭包、装饰器。
第5章 包和模块,主要介绍Python中包的结构及作用、模块的用法、内置__name__变量的使用方法。
第6章 面向对象,主要介绍面向对象编程的思想、类和对象、构造方法、访问权限、继承。
第7章 异常处理,主要介绍异常捕获的方法、finally语句的作用、使用raise抛出异常的方法。
第8章 日期和时间,主要介绍Python中内置的日期和时间相关的time和datetime两个模块。
第9章 文件操作,主要介绍读写文件的方法、文件管理、JSON文件操作、CSV文件操作。
第10章 正则表达式,主要介绍使用re模块编写正则表达式的方法、单字符匹配、数量表示、边界表示、转义字符、匹配分组、内置函数、贪婪与非贪婪模式。
第11章 Python网络编程,主要介绍基于Python的网络编程基础、扩展库urllib和requests的用法等。
第12章 Python常用扩展库,主要介绍Python中与数据科学相关的两个重要的扩展库:NumPy和Pandas的用法。
第13章 Python数据可视化实战,主要介绍Matplotlib绘图、Pandas绘图、Seaborn绘图等内容。
第14章 Python 爬虫开发实战,主要介绍爬虫开发流程、开发环境搭建、通过爬虫抓取电商网站商品信息的内容。
第15章 Python数据分析实战,主要介绍数据分析基本概述、对房价进行数据分析等内容。
第16章 Python机器学习实战,主要介绍机器学习基础、常用的机器学习库scikit-learn、使用k近邻算法实现红酒质量等级预测等内容。
本书适用读者
对Python编程感兴趣的在校大学生,负责计算机相关专业教学的老师。
Python编程的初学者,或者具有Python编程基础想进一步学习Python的编程爱好者。
具有其他编程语言基础,想了解和学习Python的相关技术人员。
未来准备从事数据科学、机器学习、人工智能、数据分析、数据采集等方向研究和工作的读者。
配套资源
本书配套的源代码可以通过微信公众号DIMPLab获取,也可通过扫描关注机械工业出版社计算机分社官方微信订阅号IT有得聊,回复63405即可获取本书配套资源下载链接。
读者反馈
肖冠宇,大数据技术专家,曾就职于小米、人民网等互联网公司的大数据技术团队,拥有多年大数据系统研发经验,曾主导企业级大数据平台建设和多项大数据项目研发,擅长分布式系统架构、数据仓库产品设计与研发、实时计算、机器学习算法等。目前专注于大数据、人工智能领域的技术研究。著有《企业大数据处理:Spark、Druid、Flume与Kafka应用实践》一书,参与编著《高可用可伸缩微服务架构:基于Dubbo、Spring Cloud和Service Mesh》一书。作者公众号:DIMPLab。
杨捷,英国高等统计学研究型硕士,在校期间荣获*高学术奖学金,英国The Face3D Research Consortium前成员。参与过多项数据分析科研项目,擅长数据统计建模分析与预测。曾担任英国大不列颠奥林匹克数学竞赛高级组指导老师,曾就职于爱丁堡知名咨询公司担任Consultant Assistant。2016年被邀请作为全球科技峰会苏格兰分会场演讲嘉宾。目前专注于机器学习、人工智能等领域的研究。
目录
前言
第1章 Python概述
1.1 初识Python
1.2 安装配置Python 3开发环境
1.2.1 Windows系统下安装Python 3
1.2.2 Mac系统下安装Python 3
1.3 安装配置Anaconda
1.3.1 Windows系统下安装Anaconda
1.3.2 Mac系统下安装Anaconda
1.4 安装PyCharm开发工具
1.4.1 Windows系统下安装PyCharm
1.4.2 Mac系统下安装PyCharm
1.4.3 配置PyCharm开发环境
第2章 Python基础
2.1 注释
2.1.1 单行注释
2.1.2 多行注释
2.2 关键字与标识符
2.2.1 关键字
2.2.2 标识符
2.3 变量
2.4 数据类型
2.4.1 数字类型
2.4.2 类型转换函数
2.4.3 布尔类型
2.5 输入(input)与输出(print)
2.5.1 输入函数(input)
2.5.2 输出函数(print)
2.6 运算符
2.6.1 算术运算符
2.6.2 比较运算符
2.6.3 赋值运算符
2.6.4 逻辑运算符
2.6.5 运算符优先级
2.7 字符串
2.7.1 字符串定义
2.7.2 字符串格式化
2.7.3 字符串内置方法
2.8 if条件判断
2.8.1 语法格式
2.8.2 条件判断与逻辑运算符
2.8.3 if嵌套
2.9 while循环
2.9.1 语法格式
2.9.2 while循环嵌套
2.9.3 break跳出整个while循环
2.9.4 continue跳出当次while循环
2.10 for循环
2.10.1 语法格式
2.10.2 break跳出整个for循环
2.10.3 continue跳出当次for循环
第3章 容器
3.1 列表
3.1.1 列表的定义
3.1.2 查询列表中元素
3.1.3 嵌套列表
3.1.4 向列表中添加元素
3.1.5 修改列表中元素值
3.1.6 删除列表中元素
3.1.7 列表切片
3.1.8 列表元素排序
3.2 元组
3.2.1 元组的定义
3.2.2 查询元组中的元素
3.3 字典
3.3.1 字典的定义
3.3.2 查询字典中键值对
3.3.3 向字典中添加键值对
3.3.4 修改字典中键的值
3.3.5 删除字典中的键值对
3.3.6 循环遍历字典
3.4 集合
3.4.1 集合的定义
3.4.2 成员运算符在集合中的应用
3.4.3 向集合中添加元素
3.4.4 删除集合中的元素
3.4.5 集合常用操作
第4章 函数
4.1 函数定义与调用
4.2 函数参数
4.2.1 带参函数
4.2.2 缺省参数
4.2.3 命名参数
4.2.4 不定长参数
4.3 函数返回值
4.4 变量作用域
4.4.1 局部变量
4.4.2 全局变量
4.5 递归函数
4.6 匿名函数
4.7 闭包
4.8 装饰器
4.8.1 初识装饰器
4.8.2 装饰器进阶
第5章 包和模块
5.1 包
5.2 模块
5.3 __init__.py模块
5.4 __name__变量
第6章 面向对象
6.1 面向对象编程
6.2 类和对象
6.2.1 类
6.2.2 对象
6.3 __init__构造方法
6.4 访问权限
6.5 继承
6.5.1 单继承
6.5.2 super函数
6.5.3 重写
6.5.4 多继承
第7章 异常处理
7.1 捕获异常
7.2 捕获多个异常
7.3 捕获全部异常
7.4 异常中的finally语句
7.5 异常传递
7.6 raise抛出异常
第8章 日期和时间
8.1 time模块
8.2 datetime模块
第9章 文件操作
9.1 读写文件
9.1.1 打开文件
9.1.2 写文件
9.1.3 读文件
9.2 文件管理
9.3 JSON文件操作
9.4 CSV文件操作
9.4.1 写入CSV文件
9.4.2 读取CSV文件
第10章 正则表达式
10.1 re模块
10.2 单字符匹配
10.3 数量表示
10.4 边界表示
10.5 转义字符
10.6 匹配分组
10.7 内置函数
10.8 贪婪与非贪婪模式
第11章 Python网络编程
11.1 网络编程基础
11.2 urllib库
11.2.1 urllib.request.urlopen函数
11.2.2 urllib.request.Request类
11.2.3 urllib.error异常处理模块
11.3 requests库
11.3.1 安装requests库
11.3.2 requests库基本使用方法
第12章 Python常用扩展库
12.1 Numpy科学计算库
12.1.1 创建ndarray数组
12.1.2 数组的数据类型
12.1.3 数组的索引与切片
12.1.4 数学与统计函数调用
12.1.5 文件读入和读出
12.2 Pandas数据分析库
12.2.1 Pandas数据结构
12.2.2 数学与统计计算
12.2.3 DataFrame的文件操作
12.2.4 数据处理
第13章 Python数据可视化实战
13.1 Matplotlib绘图
13.1.1 绘制散点图
13.1.2 绘制折线图
13.1.3 绘制柱状图
13.1.4 绘制箱线图
13.2 Pandas绘图
13.2.1 绘制Series序列图
13.2.2 绘制DataFrame图表
13.3 Seaborn绘图
13.3.1 绘制条形散点图
13.3.2 绘制箱线图
13.3.3 绘制琴形图
13.3.4 多变量分类绘图
第14章 Python爬虫开发实战
14.1 爬虫工作流程
14.2 爬虫开发环境搭建
14.3 项目实战:爬取电商网站商品信息
14.3.1 目标网站分析
14.3.2 使用Python实现爬虫程序
第15章 Python数据分析实战
15.1 数据分析概述
15.2 项目实战:房屋售价数据分析
15.2.1 项目概述
15.2.2 数据处理
15.2.3 数据分析
第16章 Python机器学习实战
16.1 机器学习基础
16.1.1 什么是机器学习
16.1.2 数据集核心概念
16.1.3 算法、模型与训练
16.1.4 机器学习任务分类
16.1.5 有监督学习与无监督学习
16.1.6 机器学习开发流程
16.1.7 scikit-learn机器学习库
16.2 项目实战:k近邻算法实现红酒质量等级预测
16.2.1 k近邻算法原理
16.2.2 欧式距离公式
16.2.3 使用Python实现完整预测过程