
本书以培养本科生程序设计思想与基本能力为目标,贯穿理解和应用Python语言程序设计基础和方法,系统讲解Python语言基础知识。全书分为10章,内容涵盖了Python程序设计基本知识、数据管理基础和数据可视化基础。书中展示了大量示例,内容讲解清晰,循序渐进。
本书适合作为Python程序设计爱好者自学用书及非计算机专业本科生“Python程序设计”课程的教材,也适合作为备考全国计算机等级考试二级Python考试的学生的学习与参考用书。
Python是一种解释型高级编程语言,代码开源,功能强大,简单易学,操作便捷,在数据分析、机器学习、网络数据爬取、Web应用开发等方面有广泛应用,与C语言共同成为计算机专业、非计算机专业的入门语言。越来越多的人开始学习Python程序设计语言,以适应人才市场需求,而且全国计算机等级考试在2018年增设了Python程序设计语言科目。
Python提供了丰富的API和第三方工具包,可以帮助处理包括文档生成、数据库、线程、GUI以及其他与系统有关的操作。Python可嵌入性、可扩展性强,可以调用C/C++语言编写的不公开算法程序代码,也可以把Python嵌入C/C++程序,面向用户提供脚本功能,与这些语言相比,Python大幅降低了学习和使用的难度。
本书借鉴了大量已出版的Python语言程序设计书籍与网络资源,从基本的程序设计思想入手,知识内容由浅入深,注重讲解Python基础知识以及提升学习者的编程能力,在每部分知识讲解后,利用示例程序讲解Python知识的应用,加深读者的学习和理解,是一本适合初学者学习的书籍。
本书分为10章,第1~5章讲解基础知识与语法,第6章和第7章介绍高阶知识与语法,第8~10章讲解数据处理和可视化基础知识与应用。具体内容有:Python环境的搭建;Python基础知识,包括基本语法、基本数据类型、运算符、表达式、内置函数、基本控制结构、组合数据类型等;高阶内容,包括函数和模块、类和对象、文件、数组、numpy与pandas数据处理库及数据可视化等,通过比较典型的案例应用讲解Python综合应用思路与方法。书中全部的示例代码适用于Python 3.6以及更高版本下运行。
本书由高静、石瑞峰任主编,姜新华、冯晓龙任副主编,郭迎春、王丽霞、马金伟、马学磊、张丽、杨伟光参与编写。其中,第1章由姜新华编写,第2章由郭迎春编写,第3章由王丽霞编写,第4章由冯晓龙编写,第5章由马金伟编写,第6章由马学磊编写,第7章由张丽编写,第8章由杨伟光编写,第9章由高静编写,第10章由石瑞峰编写。全书由石瑞峰、姜新华、冯晓龙统稿,高静定稿。
本书适合作为Python程序设计爱好者自学用书以及非计算机专业本科生“Python程序设计”课程的教材,也适合作为备考全国计算机等级考试二级Python考试的学生的学习与参考用书。
本书配套有《Python程序设计实验指导》(ISBN: 9787302588009),读者可配套使用。本书提供的配套资源,读者可以登录清华大学出版社网站下载。
由于时间仓促,书中可能仍存在疏漏之处,敬请读者和同行批评指正。
编者2021年5月
第1章Python程序设计起步1
1.1程序设计语言1
1.1.1程序设计语言概述1
1.1.2编译和解释1
1.2Python语言2
1.2.1Python语言概述2
1.2.2Python语言的特点3
1.2.3Python语言的应用4
1.3Python开发环境5
1.3.1Python开发环境安装5
1.3.2Anaconda8
1.3.3conda管理器9
1.4Python编程起步11
1.4.1IDLE设置11
1.4.2Python编程15
1.4.3Jupyter Notebook18
1.5本章小结20
1.6习题21
第2章Python基本语法和简单数据类型22
2.1Python的语法特点22
2.1.1注释语句22
2.1.2缩进23
2.1.3跨行语句24
2.1.4一行显示多条语句25
2.1.5PEP8规范25
2.2Python的语法元素25
2.2.1变量25
2.2.2常量27
2.2.3标识符27
2.2.4关键字27
2.3Python的基本数据类型29
2.3.1数字类型29
2.3.2字符串类型31
2.3.3数据类型转换41
2.4Python运算符42
2.4.1算术运算符42
2.4.2比较运算符43
2.4.3逻辑运算符44
2.4.4赋值运算符45
2.4.5位运算符46
2.4.6成员运算符47
2.4.7身份运算符47
2.4.8运算符的优先级48
2.5Python的常用函数49
2.5.1标准输入输出函数49
2.5.2数学函数50
2.6本章小结52
2.7习题52
第3章Python控制结构54
3.1Python程序的基本结构54
3.1.1程序和算法54
3.1.2程序的描述方式54
3.1.3程序的基本结构56
3.1.4程序基本结构实例58
3.2Python的顺序结构61
3.2.1顺序结构语句61
3.2.2顺序结构实例62
3.3Python的选择结构64
3.3.1if单分支结构64
3.3.2ifelse二分支结构67
3.3.3ifelifelse多分支结构73
3.3.4if分支结构的嵌套80
3.4Python的循环结构85
3.4.1for循环85
3.4.2for循环嵌套89
3.4.3while循环94
3.4.4while循环嵌套98
3.5Python的跳转语句103
3.5.1break语句103
3.5.2continue语句107
3.5.3pass语句109
3.5.4else语句110
3.6本章小结 112
3.7习题113
第4章组合数据类型114
4.1列表114
4.1.1列表创建115
4.1.2列表的操作117
4.1.3列表的应用124
4.1.4二维列表126
4.2元组127
4.2.1元组的创建与访问127
4.2.2元组与列表通用操作131
4.2.3序列类型间的相互转换134
4.2.4元组的应用136
4.3集合140
4.3.1集合的创建140
4.3.2集合的操作141
4.3.3集合的应用145
4.4字典150
4.4.1字典创建150
4.4.2字典的基本操作153
4.4.3字典的应用157
4.5列表、元组、集合、字典的区别163
4.6综合案例——词频统计164
4.7本章小结167
4.8习题167
第5章函数与模块169
5.1函数和模块的定义169
5.1.1内置函数和内置模块169
5.1.2自定义函数170
5.1.3自定义模块172
5.1.4模块内置属性和搜索路径173
5.2函数详解175
5.2.1函数调用175
5.2.2形参和实参176
5.2.3函数的作用域和命名空间177
5.2.4函数返回值178
5.2.5可变数量参数179
5.2.6递归函数181
5.3理解函数和模块182
5.3.1抽象和代码组织182
5.3.2函数接口设计183
5.3.3包185
5.4应用实例和模块安装185
5.4.1增量式开发185
5.4.2文档字符串187
5.4.3类型检查187
5.4.4第三方库安装189
5.5本章小结189
5.6习题189
第6章文件操作和数据格式化191
6.1文件概述191
6.2文件的打开与关闭192
6.2.1打开文件192
6.2.2上下文管理语句with194
6.3文件的读写194
6.3.1文本文件的写入194
6.3.2文本文件的读取195
6.3.3二进制文件的写入196
6.3.4二进制文件的读取198
6.4文件指针定位199
6.5CSV文件读写201
6.5.1CSV文件的基本概念201
6.5.2读CSV文件数据201
6.5.3将数据写入CSV文件203
6.5.4CSV文件格式化参数和Dialect对象204
6.6Excel文件的读写206
6.6.1使用xlrd模块对xls文件进行读操作207
6.6.2使用xlwt模块对xls文件进行写操作209
6.6.3使用openpyxl模块对xlsx文件进行读操作210
6.6.4使用openpyxl模块对xlsx文件进行写操作211
6.7数据组织的维度213
6.7.1基本概念213
6.7.2一维数据的格式化和处理213
6.7.3二维数据的格式化和处理215
6.8JSON库217
6.8.1JSON概述217
6.8.2JSON库的使用217
6.9Python异常处理219
6.9.1基本概念219
6.9.2Python中的异常处理结构222
6.10本章小结226
6.11习题227
第7章类和对象229
7.1面向对象思想229
7.2类和对象231
7.2.1初识类231
7.2.2初识对象232
7.2.3访问成员232
7.2.4self参数234
7.2.5构造方法和析构方法236
7.3属性与方法239
7.3.1类属性和实例属性240
7.3.2实例方法、类方法和静态方法242
7.3.3类成员的保护和访问机制247
7.3.4类的特殊成员250
7.4继承与多态256
7.4.1单一继承256
7.4.2多继承261
7.4.3super()264
7.4.4抽象类265
7.4.5多态266
7.5面向对象应用案例268
7.6本章小结273
7.7习题273
第8章numpy和pandas275
8.1numpy275
8.1.1numpy的安装275
8.1.2numpy数组275
8.1.3数组ndarray的数据类型和属性280
8.1.4数组ndarray的索引和切片281
8.1.5数组ndarray的常用操作284
8.1.6数组的通用函数287
8.1.7数组的统计函数289
8.1.8numpy子模块290
8.1.9示例: 计算身高体重的线性关系291
8.2pandas292
8.2.1Series和DataFrame292
8.2.2数据的访问和选择297
8.2.3数据运算301
8.2.4缺失值处理303
8.2.5统计计算相关方法304
8.2.6数据的添加、删除和修改306
8.2.7合并、分组、重塑308
8.2.8数据的导入和导出310
8.2.9示例: 处理、汇总、分析学生的成绩311
8.3本章小结312
习题313
第9章数据可视化314
9.1数据可视化概述314
9.1.1数据可视化314
9.1.2Python数据可视化314
9.2matplotlib数据可视化315
9.2.1matplotlibr的安装和导入315
9.2.2图表创建316
9.2.3常用图表修饰318
9.3绘制常用图表326
9.3.1绘制柱形图326
9.3.2绘制饼图330
9.3.3绘制散点图332
9.3.4绘制雷达图334
9.3.5绘制箱线图339
9.3.6多子图布局342
9.4本章小结344
9.5习题345
第10章Python应用案例346
10.1办公自动化346
10.1.1Excel自动化处理346
10.1.2Word自动化处理350
10.1.3PDF自动化处理354
10.2数据处理359
10.2.1数据文件转存359
10.2.2数据关系处理368
10.3本章小结371
10.4习题371
参考文献372
本书详细讲解Python语言基础和语法结构,并有大量实践案例,配套资源完备,适合教学或自学。
高静,博士,教授,博硕士研究生导师,主要从事《软件工程》、《软件工程课程设计》《数据科学与大数据技术导引》、《软件质量保证与测试》等课程的教学工作;承担硕士研究生《大数据与Python机器学习》、博士研究生《机器学习与深度学习》课程的教学工作。主持完成国家自然科学基金项目、国家科技重大专项“核高基”子项目、内蒙古自治区科技计划项目,自治区自然科学基金项目和教育部春晖计划等项目7项,参与完成国家863、国家科技攻关、国家发展基金、国家科技重大专项等项目12项。主持教育部产教融合、自治区教育厅、内蒙古农业大学教育教学改革重点项目4项;主持完成自治区精品课程1项;主编出版教材1部,译著5部。