Python程序设计——编程基础、Web开发及数据分析
定 价:79 元
丛书名:普通高等教育系列教材
- 作者:李辉 刘洋 编著
- 出版时间:2020/11/1
- ISBN:9787111666486
- 出 版 社:机械工业出版社
- 中图法分类:TP311.561
- 页码:380
- 纸张:
- 版次:
- 开本:16开
《Python程序设计——编程基础、Web开发及数据分析》系统讲述了Python程序设计的基础知识。全书共15章,内容包括:Python概述、Python基本语法、Python的基本流程控制、Python的四种典型序列结构、Python函数、Python文件和数据库操作、面向对象程序设计、模块和包、字符串操作与正则表达式的使用、错误及异常处理、GUI编程、网络和多线程编程、基于Flask框架的Web编程、网络爬虫应用开发、数据分析与可视化基础。
为提升学习效果,书中结合实际应用提供了大量的案例对概念和知识点进行说明,并配以完善的学习资料,包括教学PPT、教学大纲、源代码、教学视频及配套软件等,为读者带来全方位的学习体验。
《Python程序设计——编程基础、Web开发及数据分析》系既可作为高等院校数据科学与大数据技术及其他计算机相关专业的Python教材,也可供自学者使用。
目 录
前言
第1章 Python概述1
1.1 认识Python语言1
1.1.1 Python的发展历程1
1.1.2 Python的特点1
1.1.3 Python的应用领域3
1.1.4 Python的版本4
1.2 Windows下的Python集成开发
环境6
1.2.1 Python的编程模式6
1.2.2 Python开发运行环境的安装6
1.2.3 使用IDLE编写“Hello Python”9
1.2.4 PyCharm的安装与使用9
1.3 安装Python集成开发环境19
1.3.1 Linux环境下安装Python开发环境19
1.3.2 Mac OS下安装Python开发环境20
1.4 Python程序运行原理21
1.4.1 计算机程序设计语言的分类21
1.4.2 计算机程序的运行方式21
1.4.3 Python程序的运行方式22
1.4.4 Python的解释器类型23
1.4.5 Python程序的可执行文件23
1.4.6 Python语言的文件类型24
1.5 本章小结24
1.6 思考与练习24
第2章 Python基本语法25
2.1 Python程序设计的基本元素25
2.2 Python的语法特点26
2.2.1 命名规范26
2.2.2 代码缩进27
2.2.3 编码规范27
2.2.4 注释规则29
2.3 标识符与变量、常量30
2.3.1 标识符与保留字30
2.3.2 变量的定义与赋值32
2.3.3 常量的定义35
2.4 基本数据类型36
2.4.1 数值类型36
2.4.2 布尔类型38
2.4.3 NoneType类型38
2.4.4 数据类型转换38
2.4.5 对象和引用40
2.4.6 字符串类型41
2.5 基本输入和输出43
2.5.1 基于input函数输入43
2.5.2 基于print函数输出44
2.6 常见的运算符与表达式47
2.6.1 运算符与表达式概述47
2.6.2 算术运算符与表达式49
2.6.3 赋值运算符与表达式50
2.6.4 关系运算符与表达式51
2.6.5 逻辑运算符与表达式53
2.6.6 条件(三目)运算符54
2.6.7 位运算符54
2.6.8 运算符的优先级55
2.7 本章小结56
2.8 思考与练习56
第3章 Python的基本流程控制57
3.1 基本语句及顺序结构57
3.1.1 基本语句57
3.1.2 顺序结构58
3.2 选择结构59
3.2.1 if语句59
3.2.2 if…else语句60
3.2.3 if…elif…else语句61
3.2.4 分支语句嵌套63
3.3 循环结构65
3.3.1 while语句65
3.3.2 for语句和range内建函数67
3.3.3 循环语句嵌套69
3.4 转移和中断语句70
3.4.1 break语句71
3.4.2 continue语句72
3.4.3 pass语句74
3.5 while...else与for...else语句75
3.5.1 while...else语句75
3.5.2 for...else语句76
3.6 本章小结76
3.7 思考与练习76
第4章 Python的四种典型序列结构78
4.1 序列78
4.1.1 序列概述78
4.1.2 序列的基本操作78
4.2 列表82
4.2.1 列表的创建与删除82
4.2.2 列表元素的访问与遍历83
4.2.3 列表元素的常用操作(增、删、
改、查)85
4.2.4 列表元素的统计与排序92
4.2.5 列表的嵌套93
4.3 元组94
4.3.1 元组的创建与删除94
4.3.2 元组的常见操作95
4.3.3 元组与列表的区别及相互转换97
4.4 字典97
4.4.1 字典的创建98
4.4.2 字典元素的访问与遍历100
4.4.3 字典元素的常见操作(增、删、
改、查)101
4.5 集合103
4.5.1 集合的创建104
4.5.2 集合元素的常见操作(增加、
删除、查找)105
4.5.3 集合的交集、并集和差集数学
运算106
4.6 容器的公共操作107
4.6.1 运算符操作107
4.6.2 公共方法108
4.6.3 容器类型转换110
4.7 推导式与生成器推导式111
4.7.1 列表推导式111
4.7.2 字典推导式113
4.7.3 集合推导式114
4.7.4 元组的生成器推导式114
4.8 本章小结115
4.9 思考与练习115
第5章 Python函数117
5.1 函数的定义和调用117
5.1.1 定义函数117
5.1.2 调用函数119
5.1.3 函数的返回值119
5.1.4 函数的嵌套调用120
5.2 函数的参数与值传递120
5.2.1 函数的形参和实参121
5.2.2 位置参数122
5.2.3 关键字参数123
5.2.4 默认参数124
5.2.5 不定长(可变)参数124
5.2.6 可变参数的装包与拆包126
5.3 变量的作用域127
5.3.1 LEGB原则127
5.3.2 全局变量和局部变量128
5.4 递归函数和匿名函数130
5.4.1 递归函数130
5.4.2 匿名函数131
5.5 高阶函数132
5.5.1 内置高阶函数:map133
5.5.2 内置高阶函数:reduce134
5.5.3 内置高阶函数:filter135
5.6 闭包及其应用136
5.6.1 闭包概述136
5.6.2 闭包的应用137
5.7 装饰器及其应用138
5.7.1 装饰器的概念138
5.7.2 装饰器的应用139
5.8 迭代器及其应用142
5.8.1 迭代器的概念142
5.8.2 迭代器的应用144
5.9 生成器及其应用145
5.9.1 生成器的概念145
5.9.2 生成器的应用145
5.10 本章小结147
5.11 思考与练习147
第6章 Python文件和数据库操作149
6.1 文件相关的基本概念149
6.1.1 文件与路径149
6.1.2 文件的编码方式150
6.1.3 文本文件和二进制文件的区别151
6.2 文件夹与目录操作152
6.2.1 os.path模块152
6.2.2 获取与改变工作目录152
6.2.3 目录与文件操作153
6.2.4 文件的重命名和删除154
6.3 文件的基本操作155
6.3.1 文件的打开和关闭155
6.3.2 文件的读取与写入157
6.3.3 按行对文件内容读写159
6.3.4 使用fileinput对象读取大文件
操作160
6.4 处理XML格式文件的数据162
6.4.1 初识XML162
6.4.2 基于DOM操作XML文件165
6.4.3 基于SAX操作XML文件167
6.5 JSON格式文件及其操作169
6.5.1 JSON概述169
6.5.2 读写JSON文件169
6.5.3 数据格式转化对应表171
6.5.4 利用xmltodict库实现XML与
JSON格式转换173
6.6 Python操作MySQL数据库175
6.6.1 PyMySQL的安装175
6.6.2 PyMySQL操作MySQL的流程及
常用对象175
6.6.3 PyMySQL的使用步骤177
6.7 本章小结178
6.8 思考与练习179
第7章 面向对象程序设计180
7.1 面向对象程序设计的三个基本
特性180
7.2 类和对象181
7.2.1 类的定义和使用182
7.2.2 构造函数(方法)与析构函数
(方法)184
7.2.3 创建类的方法与成员访问186
7.2.4 访问限制:私有成员与公有成员190
7.2.5 类代码块192
7.2.6 特殊方法:静态方法和类方法192
7.2.7 单例模式196
7.2.8 函数和方法的区别196
7.3 类的继承和多态197
7.3.1 类的继承198
7.3.2 类的多继承201
7.3.3 方法重写202
7.3.4 多态与多态性205
7.3.5 接口207
7.3.6 运算符重载208
7.4 综合应用案例:会员管理系统设计
与实现209
7.4.1 系统需求与设计209
7.4.2 系统框架实现209
7.4.3 管理系统功能实现211
7.4.4 主程序模块定义与实现214
7.5 本章小结214
7.6 思考与练习214
第8章 模块和包215
8.1 Python程序的模块结构215
8.2 模块的定义与使用216
8.2.1 模块的定义217
8.2.2 使用import语句导入模块217
8.2.3 使用from…import语句导入模块218
8.2.4 模块搜索目录219
8.2.5 模块内建函数220
8.2.6 绝对导入和相对导入221
8.3 Python中的包221
8.3.1 Python程序的包结构221
8.3.2 创建和使用包222
8.4 引用其他模块223
8.4.1 第三方模块的下载与安装223
8.4.2 标准模块的使用225
8.4.3 常见的标准模块227
8.5 日期与时间函数227
8.5.1 时间函数228
8.5.2 日期函数231
8.5.3 日历函数232
8.6 本章小结233
8.7 思考与练习234
第9章 字符串操作与正则表达式的
使用235
9.1 字符串的编码转换235
9.1.1 字符串的编码235
9.1.2 字符串的解码236
9.2 字符串的常见操作237
9.2.1 字符串查找237
9.2.2 字符串修改240
9.2.3 字符串判断245
9.2.4 字符串的长度计算248
9.2.5 字符串的格式化249
9.3 正则表达式及常见的基本符号251
9.4 re模块实现正则表达式操作253
9.4.1 匹配字符串:match()方法254
9.4.2 搜索与替换字符串:sub()方法与
subn()方法255
9.4.3 分割字符串:split()方法256
9.4.4 搜索字符串:search()、findall()和
finditer()257
9.4.5 编译标志259
9.5 综合应用:利用正则表达式实现自动
图片下载260
9.6 本章小结261
9.7 思考与练习261
第10章 错误及异常处理263
10.1 错误与异常263
10.1.1 两种类型的错误263
10.1.2 什么是异常263
10.1.3 常见的错误与异常265
10.2 捕获和处理异常266
10.2.1 try…except…语句266
10.2.2 try…except…else…语句267
10.2.3 带有多个except的try语句267
10.2.4 捕获所有异常268
10.2.5 finally子句268
10.3 处理异常的特殊方法269
10.3.1 raise语句抛出异常269
10.3.2 assert语句判定用户定义的约束
条件270
10.3.3 with…as语句271
10.3.4 自定义异常271
10.4 使用PyCharm进行断点调试272
10.5 本章小结274
10.6 思考与练习274
第11章 GUI编程275
11.1 GUI概述与窗口布局275
11.1.1 什么是GUI275
11.1.2 Windows窗口创建步骤276
11.1.3 布局管理器276
11.2 基于wxPython框架的GUI
开发277
11.2.1 wxPython框架安装与配置277
11.2.2 利用wx.App子类创建窗体278
11.2.3 直接利用wx.App创建窗体278
11.2.4 使用wxPython框架创建窗体279
11.2.5 wxPython框架中常用的控件280
11.2.6 wxPython实例:会员管理系统用户
登录主界面287
11.3 本章小结289
11.4 思考与练习289
第12章 网络和多线程编程290
12.1 网络编程基础290
12.1.1 IP地址290
12.1.2 端口与端口号290
12.1.3 TCP291
12.1.4 Socket(套接字)292
12.2 TCP编程292
12.2.1 TCP通信流程293
12.2.2 创建TCP客户端程序294
12.2.3 创建TCP服务器端程序295
12.3 多线程编程297
12.3.1 进程与多进程的使用297
12.3.2 线程与多线程的使用302
12.3.3 互斥锁与死锁305
12.3.4 进程与线程的比较308
12.4 本章小结309
12.5 思考与练习309
第13章 基于Flask框架的Web编程310
13.1 Web框架概述310
13.1.1 什么是Web框架310
13.1.2 Python常用的Web框架310
13.2 Flask框架环境搭建312
13.2.1 安装虚拟环境312
13.2.2 安装Flask314
13.3 Flask框架的使用315
13.3.1 第一个Flask程序316
13.3.2 路由317
13.3.3 静态文件319
13.3.4 Jinja2模板的使用319
13.4 本章小结324
13.5 思考与练习324
第14章 网络爬虫应用开发325
14.1 初识网络爬虫325
14.1.1 网络爬虫概述325
14.1.2 网络爬虫的分类325
14.1.3 网络爬虫的基本原理326
14.2 网络爬虫的常用技术327
14.2.1 Python实现HTTP网络请求327
14.2.2 请求headers处理330
14.2.3 网络超时330
14.2.4 代理服务331
14.2.5 HTML解析器—BeautifulSoup331
14.3 网络爬虫开发常用框架333
14.3.1 常用网络爬虫开发框架概述333
14.3.2 Scrapy网络爬虫框架的使用333
14.4 本章小结339
14.5 思考与练习339
第15章 数据分析与可视化基础340
15.1 数据分析基础与NumPy340
15.1.1 NumPy概述340
15.1.2 NumPy的对象ndarray341
15.1.3 NumPy的基本操作342
15.1.4 NumPy统计函数345
15.2 数据分析与Pandas351
15.2.1 Series对象及常用操作351
15.2.2 DataFrame对象及常用操作356
15.3 数据可视化与Matplotlib360
15.3.1 常用的数据可视化工具360
15.3.2 Matplotlib绘图的基本流程361
15.3.3 Matplotlib的基础绘图功能364
15.3.4 Matplotlib的常见图形绘制366
15.4 本章小结371
15.5 思考与练习371