第一部分 Python语言基础 2
绪论 2
0.1 计算机的优势 2
0.2 编程的动机 3
0.3 基本的硬件知识 3
第1章 编程之路 5
1.1 Python程序设计语言 5
1.2 何为计算机程序 6
1.3 何为程序调试 7
1.4 形式语言和自然语言 8
1.5 实践的重要性 9
1.6 五种加快学习Python语言的方法 9
1.7 第一个程序 10
1.8 调试 11
1.9 词语表 11
1.10 练习 12
第2章 变量、表达式及语句 13
2.1 值和类型 13
2.2 变量 14
2.3 变量名称和保留字 15
2.4 语句 16
2.5 操作符(运算符)和操作数(运算数) 17
2.6 表达式 17
2.7 操作的次序 18
2.8 字符串操作 19
2.9 注释 19
2.10 调试 21
2.11 词语表 22
2.12 练习 22
第3章 函数 24
3.1 函数调用 24
3.2 类型转换函数 24
3.3 数学函数 25
3.4 表达式可以直接作为函数的参数 26
3.5 创建你自己的函数 26
3.6 定义与使用 27
3.7 程序中语句的执行次序 28
3.8 形式参数与实际参数 28
3.9 局部变量和形参 29
3.10 堆栈示意图 30
3.11 有返回值函数与无返回值函数 31
3.12 为什么使用函数? 32
3.13 调试 32
3.14 词语表 32
3.15 练习 33
第4章 条件及递归 35
4.1 模运算 35
4.2 布尔表达式 35
4.3 逻辑运算符 36
4.4 条件执行 37
4.5 选择执行 37
4.6 链式条件语句 37
4.7 嵌套条件语句 38
4.8 递归 39
4.9 递归函数的堆栈示意图 40
4.10 无限递归 41
4.11 键盘输入 41
4.12 调试 42
4.13 词语表 43
4.14 练习 44
第5章 有返回值的函数 45
5.1 返回值 45
5.2 增量开发 46
5.3 复合 48
5.4 布尔函数 49
5.5 递归 50
5.6 “用人不疑” 51
5.7 更多案例 52
5.8 类型检查 52
5.9 调试 53
5.10 词语表 54
5.11 练习 55
第6章 循环 57
6.1 重复赋值 57
6.2 变量的自我更新 58
6.3 while语句 58
6.4 break语句 60
6.5 for语句 60
6.6 平方根 61
6.7 算法 63
6.8 调试 63
6.9 词语表 64
6.10 练习 64
第7章 字符串 67
7.1 一个字符串就是一个序列 67
7.2 字符串长度(字符个数) 67
7.3 字符串的遍历 68
7.4 字符串子集运算 69
7.5 不能直接修改字符串中的单个字符(不可突变) 70
7.6 搜索 70
7.7 循环和计数 71
7.8 字符串的方法 71
7.9 in操作符 72
7.10 字符串比较 73
7.11 调试 73
7.12 词语表 75
7.13 练习 75
第8章 列表 77
8.1 列表就是序列 77
8.2 列表是可变的 77
8.3 遍历列表 78
8.4 列表操作 79
8.5 列表子集运算 80
8.6 列表数据类型常用方法 81
8.7 列表的高级操作 81
8.8 删除元素 83
8.9 列表和字符串 84
8.10 对象和值 85
8.11 别名 86
8.12 列表参数 86
8.13 调试 88
8.14 词语表 89
8.15 练习 89
第9章 集合 91
9.1 创建集合 91
9.2 集合元素的访问 91
9.3 集合元素的添加 92
9.4 集合元素的删除 93
9.5 集合的操作符及其对应的数学符号 93
9.6 集合的内置函数和内置方法 95
9.7 集合与列表、元组、字符串之间的转换 100
9.8 词语表 101
9.9 练习 101
第10章 字典 102
10.1 用字典计数 103
10.2 循环和字典 105
10.3 逆向检索 105
10.4 字典和列表 106
10.5 缓存查找表 108
10.6 全局变量 109
10.7 调试 111
10.8 词语表 111
10.9 练习 112
第11章 元组 113
11.1 不可变的元组 113
11.2 元组赋值 114
11.3 元组作为返回值 115
11.4 变长度参数元组 115
11.5 列表和元组 116
11.6 字典和元组 118
11.7 比较元组 119
11.8 序列的序列 120
11.9 调试 121
11.10 词语表 122
11.11 练习 122
第12章 文件 124
12.1 持久性 124
12.2 读和写 124
12.3 格式运算符 125
12.4 文件名和路径 126
12.5 捕捉异常 127
12.6 数据库 128
12.7 Pickling 129
12.8 管道 130
12.9 编写模块 131
12.10 调试 132
12.11 词语表 132
12.12 练习 133
第13章 一切皆对象 135
13.1 对象 135
13.2 数值对象 136
13.3 字符串对象 137
13.4 列表对象 138
13.5 字典对象 138
13.6 调试 140
13.7 词语表 140
13.8 练习 140
第14章 类 142
14.1 面向对象 142
14.2 对象和类 142
14.3 类的定义 143
14.4 __init__方法 144
14.5 __str__方法 145
14.6 访问限制 146
14.7 运算符重载 147
14.8 基于类型的调度 147
14.9 多态性 149
14.10 调试 150
14.11 词语表 150
14.12 练习 151
第15章 类的应用 152
15.1 Date类和Time类 152
15.2 Printer类 153
15.3 纯函数 153
15.4 修改器 155
15.5 原型法与规划法 155
15.6 调试 157
15.7 词语表 157
15.8 练习 158
第16章 继承 159
16.1 纸牌类 159
16.2 纸牌类的属性 160
16.3 纸牌类的比较 161
16.4 整副牌类 161
16.5 整副牌的输出 162
16.6 添加、移除、洗牌和排序 163
16.7 继承 163
16.8 类图 165
16.9 调试 166
16.10 词语表 166
16.11 练习 167
第二部分 案例实战 170
项目一 杠子老虎鸡虫 170
1.游戏说明 170
2.程序说明 170
3.编码步骤 173
4.评分标准 174
项目二 猫咪藏在哪个房间 175
1.游戏说明 175
2.程序说明 175
3.编码步骤 175
4.评分标准 177
项目三 神奇时钟 178
1.游戏说明 178
2.程序说明 179
3.编码步骤 179
4.评分标准 180
项目四 桌上冰球 181
1.游戏说明 181
2.程序说明 181
3.编码步骤 182
4.评分标准 183
项目五 世界杯八强连连看 184
1.游戏说明 184
2.程序说明 184
3.编码步骤 185
4.评分标准 186
项目六 华容道 187
1.游戏说明 187
2.程序说明 187
3.编码步骤 188
4.评分标准 189
项目七 决战三字经 190
1.游戏说明 190
2.程序说明 191
3.编码步骤 194
4.评分标准 197
项目八 守卫家园 199
1.游戏说明 199
2.程序说明 199
3.编码步骤 200
4.评分标准 201
第三部分 参考资料 205
一、Python 205
1.程序构造 205
2.Python代码风格 205
3.空对象 205
4.整数和浮点数 205
5.布尔运算 209
6.字符串 212
7.列表 216
8.元组 220
9.字典 221
10.集合 224
11.函数和方法 227
12.生成器 228
13.枚举对象 230
14.迭代器 230
15.序列操作:字符串、列表、元组 231
16.迭代器函数 233
17.对象 238
二、标准模块包 240
1.数学模块包 240
2.随机函数模块 244
3.默认字典操作 246
4.计数器 248
5.正则表达式 251
6.计时器 252
7.网络模块 254
三、SimpleGUITk模块包 254
1.窗口 254
2.控制对象 256
3.画布 258
4.图像 262
5.声音 262
6.计时器 263
7.常量 265
四、常见错误与调试 265
1.语法错误 265
2.运行时错误 267
3.语义错误 269
4.使用PyCharm调试程序 271
第四部分 项目模板 279
热身项目:“我喜欢Python”的程序模板 279
项目一 “杠子老虎鸡虫”程序模板 279
项目二 “猫咪藏在哪个房间”程序模板 282
项目三 “神奇时钟”程序模板 285
项目四 “桌上冰球”程序模板 286
项目五 “世界杯八强连连看”程序模板 289
项目六 “华容道”程序模板 291
项目七 “决战三字经”程序模板 293
项目八 “守卫家园”程序模板 296
参考文献 302