Preface
前言

Python语言由Guido van Rossum于1991年推出了第一个公开发行版本,之后迅速得到了各行业人士的青睐。经过30多年的发展,Python语言已经渗透到统计分析、移动终端开发、科学计算可视化、系统安全、逆向工程、软件测试与软件分析、图形图像处理、人工智能、机器学习、深度学习等几乎所有专业和领域。与此同时,Python语言在各大编程语言排行榜上的位次也是逐年上升的,被TIOBE网站评为2007、2010、2018、2020、2021年年度语言;在IEEE Spectrum编程语言排行榜上自2017年开始每年都名列榜首。

Python是一门免费、开源、跨平台的高级动态编程语言,支持命令式编程、函数式编程,完全支持面向对象程序设计,拥有大量功能强大的内置对象、标准库,以及涉及各行业领域的扩展库,使得各领域的工程师、科研人员、策划人员和管理人员能够快速实现和验证自己的思路、创意或者推测,还有更多人喜欢用Python编写脚本来完成工作中的一些小任务。在有些编程语言中需要编写大量代码才能实现的功能,在Python中只需要几行代码,大幅度减少了代码量,更加容易维护。Python用户只需要把主要精力放在业务逻辑的设计与实现上,在开发速度和运行效率之间达到了完美的平衡,其精妙之处令人击节赞叹。

一个好的Python程序不仅是正确的,更应该是简洁、直观、漂亮、优雅、方便人们阅读的,整个代码处处体现着美,让人赏心悦目。Python代码对布局要求非常严格,尤其是使用缩进来体现代码的逻辑关系,这一硬性要求非常有利于学习者和程序员养成一个良好、严谨的习惯。除了能够快速解决问题之外,代码布局要求严格也是Python被广泛选作教学语言的重要原因。

为推进党的二十大精神进教材、进课堂、进头脑,编者紧跟行业理念、技术发展和社会对人才的实际需求,本次改版除优化内容外,还在每章的培养目标中增加了素养目标的内容,以Python程序设计与应用为载体,旨在培养学生的家国情怀、民族自豪感,增强文化自信,提高创新思维、动手实践能力,优化代码与安全编码的意识,培养精益求精的工匠精神,遵守大数据伦理学与相关职业道德等。

内容组织与阅读建议

本书共14个项目和若干子任务,主要包括Python编程基础、网络爬虫、数据分析和数据可视化四大部分内容,全部代码适用于Python 3.6/3.7/3.8/3.9/3.10/3.11以及更高版本。

项目1 搭建和使用Python开发环境。简单介绍Python语言与版本、安装与配置Python开发环境、Python编码规范、扩展库安装方法,以及标准库对象与扩展库对象的导入。

项目2 使用内置对象和运算符。讲解Python常用内置对象、运算符、常用内置函数、Python关键字。

项目3 使用列表、元组、字典、集合。讲解列表、元组与生成器表达式、字典、集合、序列解包。

项目4 使用程序控制结构。讲解条件表达式的常见形式,单分支、双分支、多分支选择结构及嵌套的选择结构;循环结构,包括for循环与while循环,break与continue语句;以及异常处理结构。

项目5 设计和使用自定义函数。讲解函数定义与调用语法、不同类型的函数参数、参数传递的序列解包、变量作用域、lambda表达式、生成器函数。

项目6 面向对象程序设计。讲解类的定义与使用、数据成员与成员方法、继承、特殊方法。

项目7 使用字符串。讲解字符串编码格式、转义字符与原始字符串、字符串格式化的不同形式、字符串常用方法、字符串常量、中英文分词、汉字到拼音的转换。

项目8 使用正则表达式。讲解正则表达式语法、正则表达式模块re的用法。

项目9 读写文件内容。讲解文件操作基本知识、文本文件内容操作,以及Excel与Word等常见类型文件的操作。

项目10 文件与文件夹操作。讲解os、os.path与shutil等模块的用法,以及递归遍历文件夹和按广度优先遍历文件夹的原理。

项目11 网络爬虫入门与应用。讲解HTML与JavaScript基础,以及urllib、ScraPy、beautifulsoup4、requests、Selenium在网络爬虫程序中的应用。

项目12 使用NumPy实现数组与矩阵运算。讲解NumPy的数组和矩阵运算。

项目13 使用Pandas分析与处理数据。讲解Pandas常用操作、Pandas结合Matplotlib进行数据可视化、Pandas的应用。

项目14 使用Matplotlib进行数据可视化。介绍使用Python扩展库Matplotlib进行数据可视化相关的技术,包括折线图、散点图、饼状图、柱状图、三维图的绘制,以及切分绘图区域、设置坐标轴和图例等内容。

本书适用读者

本书是机械工业出版社组织出版的“高等职业教育系列教材”之一。本书可以作为(但不限于)专科、高职院校程序设计课程的教材,也可作为Python爱好者的自学用书。

配套资源

本书提供教学PPT、源代码、大纲、习题答案、微课视频等全套教学资源,可通过微信公众号“Python小屋”获取,或发送邮件至dongfuguo2005@126.com与作者联系获取;也可通过机械工业出版社相应渠道获取(见版权页内容简介)。另外,本书还提供了课程思政讲解视频,可扫描下面的二维码观看。

致谢

首先感谢父母的养育之恩,在当年那么艰苦的条件下还坚决支持我读书,没有让我像有些同龄的孩子一样辍学。感谢姐姐、姐夫多年来对我的爱护,以及在老家对父母的照顾,感谢善良的弟弟、弟媳在老家对父母的照顾。当然,最应该感谢的是妻子和孩子对我这个工作狂人的理解和体谅。

感谢每一位读者,感谢您在茫茫书海中选择了本书,衷心祝愿您能够从本书中受益,学到真正需要的知识。同时也期待每一位读者的热心反馈,随时欢迎您指出书中的不足,并通过微信公众号“Python小屋”或电子邮箱dongfuguo2005@126.com与作者沟通和交流。

董付国 于山东烟台

2023年3月

课程思政视频