前言 在IEEE Spectrum发布的2020年编程语言排行榜中,Python排名第一。Python的语法非常接近英语,被称为最优雅的编程语言之一。阅读Python代码就像阅读一篇优美的文章。Python语法简洁清晰,代码可读性强,编程模式非常符合人的思维方式,易学易用。对于同样的功能,用Python写的代码更短、更简洁。Python拥有很多面向不同应用的开源扩展库,你能想到的功能基本上都已经开发了,你只需要把想要的程序代码拿来进行组装便可构建个性化的应用。Python支持命令式编程、函数式编程,支持面向对象程序设计。Python是一门很受人们青睐的编程语言,被广泛用于数据分析、Web开发、科学计算、人工智能、云计算、系统运维、数据可视化和图形开发等领域。 1. 本书编写特色 (1) 本书全面涵盖Python3基础编程知识,基于Python 3.6.2构建Python开发平台。 (2) 针对零基础读者,可快速掌握Python语言开发。 (3) 通过大量的实例,由浅入深、步步引导、循序渐进地讲述Python语言的基础知识和基本语法。 (4) 注释详尽的代码示例。 (5) 详尽的归纳与总结,帮读者集中深入掌握知识要点。 (6) 丰富的数据可视化案例,助读者迅速掌握数据可视化技术。 2. 本书内容组织 第1章Python语言概述。讲解Python语言的特点,Python应用领域,Python开发环境的安装,编写Python代码的方式,Python注释的方式,Python在线帮助。 第2章Python语言基础。讲解Python中的对象和引用,数值数据类型,字符串数据类型,列表数据类型,元组数据类型,字典数据类型,集合数据类型,Python数据类型之间的转换,运算符,数据输入与输出,库的导入与扩展库的安装。第3章程序流程控制。讲解布尔表达式,选择结构中的单向if语句、双向ifelse语句、嵌套ifelifelse语句,条件表达式,while循环及循环控制策略,for循环及for循环与range()函数的结合使用方法,利用break、continue和else控制循环的方式。 第4章函数。讲解怎样定义函数、函数的调用方式、参数传递、函数参数的类型、函数模块化、lambda表达式、变量的作用域、函数的递归调用和常用内置函数。 第5章正则表达式。讲解正则表达式的构成,正则表达式的边界匹配,正则表达式的分组、选择和引用匹配,正则表达式的贪婪匹配与懒惰匹配,正则表达式模块re,正则表达式对象以及Match对象。 第6章文件与文件夹操作。讲解文本文件的打开、读写以及文件指针的定位,二进制文件的打开与读写,os、os.path、shutil对文件与文件夹的操作,csv文件的读取和写入。 第7章面向对象程序设计。讲解类的定义与使用,类的对象属性、类属性、私有属性、公有属性以及@property装饰器,类的对象方法、类方法以及类的静态方法,类的单继承、多重继承、类成员的继承和重写,查看继承的层次关系,所有类的基类object,对象的引用、对象的浅复制和对象的深复制。 第8章模块和包。讲解模块的创建、模块的导入和使用、模块的主要属性,导入模块时搜索目录的顺序,使用sys.path.append()临时增添系统目录,使用pth文件永久添加系统目录,使用PYTHONPATH环境变量永久添加系统目录,包的创建、包的导入与使用。 第9章算法与数据结构基础。讲解顺序查找、二分查找、插值查找算法,冒泡排序、选择排序、插入排序、归并排序、快速排序算法,自定义矩阵、栈、队列和二叉树类型。 第10章错误和异常处理。讲解编写Python程序常犯的错误,异常类型、异常处理、主动抛出异常以及自定义异常类,断言定义及使用方法,启用/禁用断言,断言使用场景,使用print调试程序、使用IDLE调试程序以及使用pdb调试程序。 第11章图形用户界面。讲解使用Tkinter制作图形用户界面,Tkinter主要的构件类,pack布局管理器,grid布局管理器,place布局管理器。 第12章用matplotlib实现数据可视化。讲解matplotlib三层架构,使用matplotlib的pyplot子库绘制线形图、直方图、条形图、饼图、散点图、极坐标图、雷达图、箱形图和3D效果图。 ◆Python语言程序设计(第2版)(微课版)前言3. 本书适用读者 (1) 学习Python语言程序设计课程的本科生、专科生或研究生。 (2) 编程爱好者。 (3) 其他对Python感兴趣的人员。 本书由孙玉胜、曹洁、张志锋、桑永宣、陈明、王博、张静静、胡春晖编写。 在本书的编写和出版过程中得到了郑州轻工业大学、清华大学出版社的大力支持和帮助,在此表示感谢。 在本书的撰写过程中,参考了大量专业书籍和网络资料,在此向相关作者表示感谢。 由于编写时间仓促,编者水平有限,书中难免会有缺点和不足,热切期望得到专家和读者的批评指正。 除了配套制作的教学课件、教学日历、教学大纲外,本书还提供书中示例的源代码和各章中部分内容的视频讲解(可通过清华大学出版社网站www.tup.com.cn下载),以使读者获取更多更便捷的教学资源服务。 编者于郑州轻工业大学数据融合与知识工程实验室2021年2月