第一部分 Python基础知识 3
第1章 Python概述 3
1.1 什么是Python 3
1.2 Python的开发环境 7
1.3 Python的应用 13
第2章 基本数据类型 16
2.1 变量和赋值 16
2.2 数字 16
2.3 字符串 20
习题 22
第3章 序列 24
3.1 列表 24
3.2 元组 25
3.3 字典 26
3.4 集合 28
习题 32
第4章 程序结构 34
4.1 条件语句 34
4.2 循环语句 36
4.3 continue和break语句 40
4.4 迭代器 41
习题 42
第5章 函数与模块 45
5.1 函数的定义 45
5.2 函数创建和调用 45
5.3 参数 46
5.4 返回值 49
5.5 命名空间和作用域 50
5.6 生成器 51
5.7 模块和import语句 55
5.8 包 56
5.9 Python标准库 56
习题 57
第6章 面向对象 60
6.1 什么是对象 60
6.2 类 61
6.3 继承 62
6.4 方法 64
6.5 组合 68
6.6 子类和派生 69
6.7 私有化 70
习题 71
第7章 字符编码与文件i/o 73
7.1 字符编码 73
7.2 文件对象 73
7.3 二进制文件操作 74
习题 78
第8章 异常处理 79
8.1 什么是异常 79
8.2 检测和处理异常 79
8.3 raise语句和with语句 81
习题 82
第二部分 数据结构与算法分析 90
第9章 线性结构 90
9.1 线性表 90
9.2 栈 101
9.3 队列 105
习题 110
第10章 树 114
10.1 树的基本概念 114
10.2 二叉树 116
10.3 二叉树的遍历 119
10.4 哈夫曼树与哈夫曼编码 126
习题 135
第11章 图 137
11.1 图的定义和术语 137
11.2 图的存储表示 139
11.3 图的遍历 143
11.4 图的最小生成树 144
11.5 有向无环图的应用 149
11.6 最短路径问题 152
习题 157
第12章 查找 159
12.1 查找的基本概念 159
12.2 静态表的查找 159
12.3 动态查找 163
12.4 散列表 186
习题 190
第13章 排序 191
13.1 排序概述 191
13.2 插入排序 192
13.3 交换排序 196
13.4 选择排序 204
13.5 归并排序 212
13.6 基数排序 215
习题 218
第14章 文本处理 220
14.1 模式匹配 220
14.2 文本压缩 228
习题 233
第三部分 Python项目实战 237
第15章 飞机大战 237
15.1 项目介绍与准备 237
15.2 开始项目 238
15.3 项目总结 253
参考文献 254
附录Ⅰ 叮当码智能学习平台使用指南 256
附录Ⅱ 叮当码智能教学平台(高校版)使用指南 266