前言
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即可获取本书配套资源下载链接。
读者反馈
由于笔者水平有限,书中难免会出现一些错误或者不准确的地方,敬请读者谅解,如果遇到任何问题或者技术交流都可以通过如下联系方式与笔者进行沟通。
●微信公众号:“DIMPLab”后台留言反馈。
●电子邮件:dimplab@163.com。
致谢1
感谢美团点评的王碧琦最初提出写作本书的建议,同时感谢她在本书的写作过程中给予的支持和鼓励。
感谢机械工业出版社王斌老师,本书从2018年6月开始筹划,王老师从专业角度不断地给予帮助和指导,确定了整本书的写作框架。在写作过程中,王老师一直积极地推动本书的写作进度,使得我们可以顺利完成本书的写作。
感谢我的合作作者——杨捷,我们所有的写作都是在业余时间进行的,但是业余时间又常常被工作挤占,前期的写作进度一直很缓慢,在合作伙伴的鼓励和帮助下,克服了写作中的困难,顺利完成了本书。
感谢家人在工作和生活中对我的帮助和照顾。感谢父母,平时因工作原因很少回家看望,但他们一直在背后支持我、鼓励我。感谢我的妻子为家庭无怨无悔默默地付出,家人的陪伴与支持是我不断学习、努力奋斗的强大后盾!
肖冠宇
2019年8月于北京
致谢2
感谢与我一起合作的肖冠宇老师,感谢他带领我正式成为一名作者,有机会与大家分享我对Python的理解和想法。在创作和撰写的过程中,他给予了我很多帮助和鼓励。他总是很耐心地与我交流,分享他的宝贵经验,让我收获良多。他思维敏捷、经验丰富、技术过硬,像一个标杆,是我前进道路上的榜样。他从不吝啬夸赞的言语,常常给我很大的鼓励和支持,让我信心满满地坚持下去,在此表示我最诚挚的敬意和感谢。
感谢机械工业出版社的王斌老师,他对本书的策划和编辑提出了很多宝贵的建议,并且一直推动本书的撰写进度。同时感谢出版社的其他工作人员,他们的辛勤付出才让本书得以顺利面世。
感谢父母的培育,从小到大他们都鼓励我独立思考,做自己想做的事情,为我提供足够的空间去追寻自己的梦想。每当我做出选择之后,他们都会全力支持,是我最坚强的后盾。他们给予我的爱、理解、关心、包容和支持是我前进的动力。
感谢我的朋友们,在本书的撰写过程中,他们给予了我很大的鼓励和支持。感谢他们让我的生活如此精彩有趣。
杨捷
2019年8月于北京