第1章 Python编程概述 1
1.1 Python简介 1
1.1.1 Python发展历程 1
1.1.2 Python特点 1
1.1.3 Python应用场合 2
1.2 Python解释器安装 2
1.2.1 Linux下安装Python 2
1.2.2 Windows下安装Python 3
1.3 Python开发环境 5
1.3.1 IDLE 5
1.3.2 PyCharm 5
1.3.3 Anaconda 7
1.4 Python 2.x和Python 3.x的区别 13
1.5 学习建议 13
1.6 习题 14
第2章 基本数据类型 15
2.1 数据类型 15
2.1.1 数值 15
2.1.2 字符串 16
2.2 变量 18
2.2.1 标识符 18
2.2.2 变量引用 19
2.3 运算符 19
2.3.1 算术运算符 19
2.3.2 关系运算符 20
2.3.3 赋值运算符 21
2.3.4 逻辑运算符 22
2.3.5 位运算符 23
2.3.6 成员运算符 23
2.3.7 身份运算符 24
2.4 表达式 24
2.4.1 表达式计算 24
2.4.2 数据类型转换 25
2.5 习题 26
第3章 组合数据类型 28
3.1 序列概述 28
3.2 序列分类 28
3.2.1 列表 28
3.2.2 元组 31
3.2.3 字符串 32
3.3 序列通用 34
3.3.1 通用操作 34
3.3.2 通用方法 35
3.3.3 通用函数 36
3.4 字典 37
3.4.1 字典概念 37
3.4.2 字典操作 38
3.5 集合 40
3.5.1 集合概念 40
3.5.2 集合操作 41
3.5.3 集合运算 42
3.6 数据类型转换 43
3.7 习题 43
第4章 输入输出文件 44
4.1 输入输出 44
4.1.1 输入 44
4.1.2 输出 44
4.2 文件 46
4.2.1 ASCII文件 46
4.2.2 二进制文件 47
4.3 文件操作 47
4.3.1 打开关闭文件 47
4.3.2 读写文件 48
4.3.3 文件相关方法 50
4.4 习题 53
第5章 顺序与选择结构 54
5.1 程序设计流程 54
5.1.1 算法 54
5.1.2 程序流程图 55
5.1.3 三种基本结构 56
5.2 顺序结构 57
5.3 选择结构 57
5.3.1 单分支 58
5.3.2 双分支 59
5.3.3 多分支 59
5.3.4 分支嵌套 61
5.4 代码书写规则 63
5.4.1 缩进 63
5.4.2 多行语句 63
5.4.3 空行 64
5.4.4 注释 64
5.5 习题 64
第6章 循环结构 66
6.1 循环概述 66
6.1.1 三个表达式 66
6.1.2 循环分类 67
6.2 while语句 67
6.2.1 基本形式 67
6.2.2 else语句 68
6.2.3 无限循环 69
6.3 for语句 69
6.3.1 应用序列类型 69
6.3.2 内置函数range() 70
6.4 循环嵌套 72
6.4.1 基本形式 72
6.4.2 循环嵌套实现 73
6.5 辅助语句 76
6.5.1 break语句 76
6.5.2 continue语句 77
6.5.3 pass语句 78
6.6 编程规范 78
6.7 习题 79
第7章 函数与模块 80
7.1 函数概述 80
7.2 函数定义与调用 80
7.2.1 函数定义 80
7.2.2 函数调用 81
7.3 参数传递 82
7.3.1 实参与形参 82
7.3.2 传对象引用 83
7.4 参数分类 84
7.4.1 必备参数 84
7.4.2 默认参数 84
7.4.3 关键参数 84
7.4.4 不定长参数 85
7.5 两类特殊函数 85
7.5.1 匿名函数 85
7.5.2 递归函数 86
7.6 变量作用域 90
7.6.1 局部变量 90
7.6.2 全局变量 90
7.7 模块 91
7.7.1 命名空间 91
7.7.2 模块定义与导入 91
7.8 习题 92
第8章 面向对象程序设计基础 93
8.1 面向对象概述 93
8.1.1 基本概念 93
8.1.2 与面向过程对比 94
8.1.3 三大特性 94
8.2 类和对象 95
8.3 类属性与实例属性 96
8.3.1 实例属性 96
8.3.2 类属性 97
8.4 方法 98
8.4.1 对象方法 98
8.4.2 类方法 99
8.4.3 静态方法 99
8.5 构造函数与析构函数 100
8.5.1 构造函数 100
8.5.2 析构函数 101
8.6 继承性 101
8.6.1 单继承 101
8.6.2 多继承 103
8.7 多态性 103
8.8 习题 104
第9章 图形用户界面 105
9.1 概述 105
9.1.1 界面设计准则 105
9.1.2 GUI库简介 105
9.2 tkinter 106
9.2.1 简介 106
9.2.2 基本控件 106
9.2.3 布局 110
9.2.4 绘图 113
9.3 PyQt 117
9.3.1 简介 117
9.3.2 PyQt5举例 118
9.4 wxPython 119
9.4.1 简介 119
9.4.2 wxPython举例 119
第10章 科学计算 121
10.1 科学计算概述 121
10.1.1 Python与科学计算 121
10.1.2 与MATLAB相比 121
10.2 NumPy 123
10.2.1 NumPy简介 123
10.2.2 创建数组 123
10.2.3 查看数组 125
10.2.4 索引和切片 125
10.2.5 矩阵运算 126
10.3 Matplotlib 127
10.3.1 Matplotlib简介 127
10.3.2 线性图 127
10.3.3 散点图 128
10.3.4 饼状图 129
10.3.5 条形图 129
10.3.6 直方图 130
10.4 SciPy 130
10.4.1 SciPy简介 131
10.4.2 二项分布 131
10.4.3 正态分布 132
10.4.4 beta分布 133
10.4.5 指数分布 133
10.5 pandas 134
10.5.1 pandas简介 134
10.5.2 Series和DataFrame 135
10.5.3 pandas与Excel 137
第11章 网络爬虫 141
11.1 网络爬虫概述 141
11.1.1 概念 141
11.1.2 爬取流程 141
11.2 爬取网页 141
11.2.1 urllib库 141
11.2.2 requests库 142
11.3 解析信息 143
11.3.1 正则表达式 143
11.3.2 BeautifulSoup库 147
11.3.3 selenium_phantomjs 151
11.4 爬虫框架Scrapy 153
11.4.1 Scrapy简介 153
11.4.2 爬取流程 155
11.5 综合比较 157
第12章 数据库应用 158
12.1 数据库概念 158
12.1.1 关系型数据库 158
12.1.2 结构化查询语言 159
12.2 SQLite 160
12.2.1 连接对象和游标 160
12.2.2 操作SQLite 161
12.3 MySQL 164
12.3.1 安装MySQL 164
12.3.2 PyMySQL操作数据库 166
12.4 MongoDB 169
12.4.1 安装MongoDB 169
12.4.2 Pymongo操作数据库 170
12.5 SQLAlchemy 171
12.5.1 SQLAlchemy引入 171
12.5.2 SQLAlchemy操作流程 172
第13章 Web开发 174
13.1 Web开发简介 174
13.1.1 Web开发历程 174
13.1.2 MVC设计模式 174
13.2 web2py框架 175
13.2.1 安装web2py 175
13.2.2 web2py应用 176
13.3 Django框架 181
13.3.1 安装Django 181
13.3.2 Django应用 182
13.4 Flask框架 184
13.4.1 安装Flask 184
13.4.2 Flask应用 184
第14章 电子游戏开发 187
14.1 电子游戏与Pygame 187
14.2 Pygame 187
14.2.1 Pygame开发流程 187
14.2.2 Pygame模块 189
14.3 贪吃蛇 193
14.3.1 需求 193
14.3.2 具体实现 194
第15章 异常处理与测试 201
15.1 错误类型 201
15.1.1 语法错误 201
15.1.2 运行时错误 201
15.1.3 逻辑错误 201
15.2 捕获和处理异常 202
15.2.1 try/except/else语句 202
15.2.2 try/finally语句 203
15.2.3 raise语句 203
15.2.4 自定义异常 204
15.3 调试方法 205
15.3.1 print函数 205
15.3.2 pdb 205
15.3.3 ipdb 206
15.3.4 Spyder调试 207
15.4 测试 209
15.4.1 测试驱动 209
15.4.2 单元测试 209
15.4.3 Web测试 211
附录 215
附录A全国计算机等级考试二级Python语言程序设计考试大纲(2018年版) 215
附录B内置函数 216
B.1 数学函数 216
B.2 转换函数 217
B.3 随机数函数 218
B.4 时间函数 218
B.5 列表函数 220
B.6 元组函数 220
B.7 字符串函数 220
B.8 字典函数 221
B.9 集合函数 222
附录C参考答案 222
参考文献 240