本书主要介绍Python语言的诞生和发展、特点、编程环境搭建,分析Python程序的基础性语法,包括基本数据类型、运算符、变量、标识符与保留字。在此基础上,讨论Python程序的流程控制方法,阐述Python涉及的列表、元组、字典、集合、字符串、函数的定义与使用技巧。本书也补充和加强对面向对象的概念的理解,描述类、封装、继承、多态等术语。最后本书强化对数据可视化、文件、游戏、网络爬虫、机器学习的案例教学。
样章试读
目录
- 目 录
第1章 Python 概论 1
1.1 Python 的诞生和发展 1
1.2 Python 的语言特点 2
1.2.1 Python 的语言类型 2
1.2.2 Python 的优点 3
1.3 Python 的应用 3
1.4 Python 的编程环境搭建 4
1.4.1 Windows 编程环境搭建 4
1.4.2 Linux 编程环境搭建 7
1.4.3 OS X 编程环境搭建 7
1.5 Python 的编辑器 8
1.5.1 IDLE 的使用 8
1.5.2 PyCharm 的安装和使用 9
1.5.3 Anaconda 的安装和使用 11
本章小结 15
习题 16
第2章 Python基础语法 17
2.1 一个简易Python程序的分析 17
2.1.1 注释 17
2.1.2 代码的缩进 19
2.1.3 基本输入输出 20
2.2 标识符与保留字 21
2.2.1 标识符 21
2.2.2 保留字 22
2.3 变量 22
2.3.1 变量的定义 22
2.3.2 变量的使用 23
2.4 基本数据类型 24
2.4.1 数值类型 24
2.4.2 布尔类型 26
2.4.3 字符串类型 26
2.4.4 数据类型转换 28
2.5 运算符 30
2.5.1 算术运算符 30
2.5.2 比较运算符 31
2.5.3 赋值运算符 32
2.5.4 位运算符 33
2.5.5 逻辑运算符 34
2.5.6 运算符的优先级 35
2.6 综合案例 36
本章小结 37
习题 37
第3章 程序流程控制语句 39
3.1 程序结构 39
3.2 顺序结构 39
3.3 选择结构 40
3.3.1 最简单的if 语句 40
3.3.2 if…else语句 41
3.3.3 if…elif…else语句 42
3.3.4 if语句的嵌套 44
3.4 循环结构 45
3.4.1 while 循环 45
3.4.2 for 循环 48
3.4.3 循环嵌套 51
3.5 其他控制语句 52
3.5.1 break 语句 52
3.5.2 continue语句 53
3.5.3 pass 语句 54
3.6 综合案例 55
本章小结 56
习题 56
第4章 列表与元组 59
4.1 列表 59
4.1.1 列表的创建 59
4.1.2 删除整个列表 61
4.1.3 访问列表元素 61
4.2 遍历列表 63
4.2.1 直接使用for 循环 63
4.2.2 使用enumerate()函数 63
4.3 添加、修改和删除列表元素 64
4.3.1 添加列表元素 64
4.3.2 修改列表元素 66
4.3.3 删除列表元素 67
4.4 对列表进行排序 69
4.4.1 使用列表对象的sort()函数 69
4.4.2 使用内置的sorted()函数 70
4.5 列表推导式 71
4.6 元组 72
4.6.1 元组的创建 72
4.6.2 删除整个元组 74
4.6.3 访问元组元素 75
4.6.4 遍历元组所有值 76
4.6.5 修改元组中的元素 76
4.6.6 元组推导式 78
4.6.7 元组和列表的区别 79
4.7 综合案例 80
本章小结 82
习题 83
第5章 字典与集合 85
5.1 字典 85
5.1.1 字典的创建 85
5.1.2 删除整个字典 88
5.1.3 访问字典元素 88
5.2 遍历字典 90
5.2.1 遍历所有的键值对 90
5.2.2 遍历字典中的所有键 91
5.2.3 遍历字典中的所有值 92
5.2.4 按顺序遍历字典中的所有键和值 92
5.3 添加、修改和删除字典元素 93
5.3.1 添加字典元素 93
5.3.2 修改字典元素 93
5.3.3 删除字典元素 94
5.4 字典推导式 95
5.5 集合 96
5.5.1 集合的创建 96
5.5.2 删除整个集合 98
5.5.3 访问集合元素 98
5.5.4 集合元素的添加和删除 98
5.5.5 集合的交集、并集和差集运算 101
5.5.6 字典和集合的区别 102
5.6 综合案例 102
本章小结 103
习题 104
第6章 字符串 106
6.1 字符串操作 106
6.1.1 拼接字符串 106
6.1.2 计算字符串长度 109
6.1.3 字符串切片 110
6.1.4 分割字符串 112
6.1.5 检索字符串 114
6.1.6 字母大小写转换 117
6.1.7 删除字符串中空格和特殊字符 118
6.1.8 格式化字符串 121
6.2 字符串编码转换 124
6.2.1 使用encode()函数编码 124
6.2.2 使用decode()函数解码 124
6.3 综合案例 125
本章小结 126
习题 126
第7章 函数 128
7.1 函数的创建与调用 128
7.1.1 创建一个函数 128
7.1.2 调用一个函数 129
7.2 参数传递 130
7.2.1 形式参数和实际参数 130
7.2.2 位置参数 131
7.2.3 关键字参数 133
7.2.4 默认参数 133
7.2.5 可变参数 134
7.3 返回值 134
7.4 函数中变量的作用域 137
7.4.1 局部变量 137
7.4.2 全局变量 137
7.5 匿名函数 139
7.6 函数的嵌套 141
7.7 递归函数 142
7.8 综合案例 143
本章小结 144
习题 144
第8章 面向对象程序设计 146
8.1 概述 146
8.1.1 对象 146
8.1.2 面向过程和面向对象程序设计 146
8.1.3 面向对象程序设计的特点 147
8.2 类的定义和使用 147
8.2.1 类的定义 147
8.2.2 创建类的实例 149
8.2.3 创建__init__()方法 149
8.2.4 类属性和实例属性 150
8.2.5 实例方法、静态方法和类方法 152
8.3 @property 装饰器 154
8.3.1 使用@property将方法变为属性 154
8.3.2 使用@property实现只读属性 156
8.4 封装 156
8.5 继承 158
8.5.1 继承的定义 158
8.5.2 子类的方法__init__() 159
8.5.3 子类定义属性和方法 160
8.5.4 重写父类方法 160
8.6 多态 161
8.7 综合案例 163
本章小结 164
习题 165
第9章 包与模块 169
9.1 包与模块的概念、作用和分类 169
9.1.1 包与模块的概念 169
9.1.2 包与模块的作用和分类 169
9.2 自定义包与模块 170
9.2.1 创建包与模块 170
9.2.2 使用import语句导入模块 172
9.2.3 使用from…import语句导入模块 173
9.2.4 模块的检索路径 175
9.3 以主程序形式执行模块 176
9.4 引用其他模块 177
9.4.1 导入和使用标准模块 177
9.4.2 第三方模块的下载和安装 179
9.5 综合案例 182
本章小结 182
习题 182
第10章 异常处理及程序调试 184
10.1 异常的概念 184
10.1.1 语法错误 184
10.1.2 运行时的错误 185
10.2 异常处理语句 186
10.2.1 try...except语句 187
10.2.2 else 语句 189
10.2.3 finally语句 190
10.2.4 使用raise语句抛出异常 191
10.3 程序调试 192
10.3.1 使用PyCharm实现调试功能 192
10.3.2 使用assert语句调试程序 194
10.4 综合案例 195
本章小结 197
习题 198
第11章 可视化编程 201
11.1 数据可视化 201
11.1.1 初识matplotlib 201
11.1.2 matplotlib快速入门 202
11.1.3 修改图表显示样式 203
11.1.4 绘制子图subplot 209
11.2 GUI 界面编程 211
11.2.1 初识wxPython 211
11.2.2 wxPython快速入门 212
11.2.3 主要控件 215
11.2.4 事件处理 221
11.3 综合案例 223
本章小结 224
习题 224
第12章 文件与目录操作 226
12.1 基本文件操作 226
12.1.1 创建和打开文件 226
12.1.2 打开文件时使用with语句 229
12.1.3 写入文件内容 230
12.1.4 读取文件和文件指针 231
12.1.5 关闭文件 235
12.2 CSV文件处理 235
12.2.1 CSV文件读取 235
12.2.2 CSV文件写入 236
12.3 目录操作(os 模块) 237
12.3.1 路径 237
12.3.2 获得目录中的内容 238
12.3.3 创建目录 238
12.3.4 删除目录 240
12.3.5 判断目录是否存在 240
12.4 高级文件操作 242
12.4.1 删除文件 242
12.4.2 重命名文件和目录 243
12.4.3 获取文件基本信息 244
12.5 综合案例 245
本章小结 248
习题 248
第13章 2048 游戏开发 250
13.1 游戏介绍 250
13.2 功能分析 251
13.3 2048 游戏设计 252
13.3.1 搭建主框架 252
13.3.2 绘制游戏背景 253
13.3.3 实现游戏算法 256
13.3.4 图标、得分和重新开始功能 260
13.3.5 游戏结束判断 265
13.3.6 游戏窗口关闭功能 266
本章小结 267
习题 267
第14章 网络爬虫开发 269
14.1 网络爬虫概述 269
14.2 网络爬虫基础 270
14.2.1 URI和URL 270
14.2.2 HTTP/HTTPS的请求与响应 271
14.2.3 请求模块的基本使用 272
14.2.4 URLError与HTTPError 273
14.2.5 HTML 解析之XPath 275
14.3 网络爬虫开发常用框架 277
14.3.1 Scrapy爬虫框架 277
14.3.2 PySpider框架 279
14.4 网络爬虫实战案例 279
14.4.1 本节目标 280
14.4.2 准备工作 280
14.4.3 抓取分析 280
14.4.4 模块 280
本章小结 284
习题 284
第15章 机器学习案例 286
15.1 PM2.5案例概述 286
15.2 PM2.5统计分析 288
15.2.1 Pandas简介 288
15.2.2 数据读取 288
15.2.3 数据清洗 290
15.2.4 空气质量等级对比分析 292
15.2.5 空气质量月度趋势对比 295
15.2.6 空气质量小时浓度对比 299
15.3 机器学习库的使用 302
15.3.1 scikit-learn 302
15.3.2 Keras 304
15.4 PM2.5预测 306
15.4.1 线性回归模型 307
15.4.2 普通神经网络模型 309
15.4.3 深度学习模型 312
本章小结 314
习题 315
主要参考文献 317
附录 字符编码 318