第1部分 学习编程 3
第1章 Python不是大蟒蛇 3
1.1 关于计算机语言 4
1.2 安装Python 5
1.2.1 在Windows 7上安装Python 5
1.2.2 在苹果OS X上装Python 7
1.2.3 在Ubuntu上安装Python 9
1.3 当你安装好Python以后 10
1.4 保存Python程序 11
1.5 你学到了什么 12
第2章 计算与变量 13
2.1 用Python来做计算 14
2.1.1 Python的运算符 15
2.1.2 算的顺序 15
2.2 变量就像是标签 17
2.3 使用变量 18
2.4 你学到了什么 20
第3章 字符串、列表、元组和字典 21
3.1 字符串 22
3.1.1 创建字符串 22
3.1.2 处理字符串相关的问题 23
3.1.3 在字符串里嵌入值 25
3.1.4 字符串乘法 27
3.2 列表比字符串还强大 28
3.2.1 添加元素到列表 30
3.2.2 从列表中删除元素 31
3.2.3 列表上的算术 31
3.3 元组 33
3.4 Python里的map不是用来指路的 34
3.5 你学到了什么 36
3.6 编程小测验 36
第4章 用海龟画图 39
4.1 使用Python的turtle(海龟)模块 40
4.1.1 创建画布 40
4.1.2 移动海龟 42
4.2 你学到了什么 45
4.3 编程小测验 45
第5章 用if和else来提问 47
5.1 if语句 48
5.2 语句块就是一组程序语句 48
5.3 条件语句帮助我们做比较 50
5.4 if-then-else语句 52
5.5 if和elif语句 53
5.6 组合条件 54
5.7 没有值的变量——None 54
5.8 字符串与数字之间的不同 55
5.9 你学到了什么 57
5.10 编程小测验 58
第6章 循环 59
6.1 使用for循环 60
6.2 还有一种叫while的循环 66
6.3 你学到了什么 69
6.4 编程小测验 69
第7章 使用函数和模块来重用你的代码 71
7.1 使用函数 72
7.1.1 函数的组成部分 72
7.1.2 变量和作用域 74
7.2 使用模块 76
7.3 你学到了什么 78
7.4 编程小测验 78
第8章 如何使用类和对象 81
8.1 把事物拆分成类 82
8.1.1 父母与孩子 83
8.1.2 增加属于类的对象 84
8.1.3 定义类中的函数 84
8.1.4 用函数来表示类的特征 85
8.1.5 为什么要使用类和对象 86
8.1.6 画图中的对象与类 88
8.2 对象和类的另一些实用功能 90
8.2.1 函数继承 91
8.2.2 从函数里调用其他函数 92
8.3 初始化对象 93
8.4 你学到了什么 94
8.5 编程小测验 94
第9章 Python的内建函数 97
9.1 使用内建函数 98
9.1.1 abs函数 98
9.1.2 bool函数 99
9.1.3 dir函数 100
9.1.4 eval函数 102
9.1.5 exec函数 103
9.1.6 float函数 103
9.1.7 int函数 104
9.1.8 len函数 104
9.1.9 max和min函数 105
9.1.10 range函数 107
9.1.11 sum函数 108
9.2 使用文件 108
9.2.1 创建测试文件 108
9.2.2 在Python中打开文件 110
9.2.3 写入到文件 112
9.3 你学到了什么 112
9.4 编程小测验 113
第10章 常用的Python模块 115
10.1 使用copy模块来复制 116
10.2 keyword模块记录了所有的关键字 118
10.3 用random模块获得随机数 119
10.3.1 用randint来随机挑选一个数字 119
10.3.2 用choice从列表中随机选取一个元素 121
10.3.3 用shuffle来给列表洗牌 121
10.4 用sys模块来控制Shell程序 122
10.4.1 用exit函数来退出Shell程序 122
10.4.2 从stdin对象读取 122
10.4.3 用stdout对象来写入 123
10.4.4 我用的Python是什么版本的 123
10.5 用time模块来得到时间 124
10.5.1 用asctime来转换日期 125
10.5.2 用localtime来得到日期和时间 126
10.5.3 用sleep来休息一会儿吧 126
10.6 用pickle模块来保存信息 127
10.7 你学到了什么 128
10.8 编程小测验 129
第11章 高级海龟作图 131
11.1 从基本的正方形开始 132
11.2 画星星 132
11.3 画汽车 136
11.4 填色 137
11.4.1 用来画填色圆形的函数 138
11.4.2 使用纯白和纯黑 139
11.5 画方形的函数 140
11.6 画填色正方形 141
11.7 画填好色的星星 143
11.8 你学到了什么 144
11.9 编程小测验 144
第12章 用tkinter画高级图形 147
12.1 创造一个可以点的按钮 148
12.2 使用具名参数 150
12.3 创建一个画图用的画布 151
12.4 画线 151
12.5 画盒子 153
12.5.1 画许多矩形 154
12.5.2 设置颜色 156
12.6 画圆弧 159
12.7 画多边形 161
12.8 显示文字 161
12.9 显示图片 162
12.10 创建基本的动画 164
12.11 让对象对操作有反应 167
12.12 更多使用ID的方法 169
12.13 你学到了什么 170
12.14 编程小测验 170
第2部分 弹球实例 175
第13章 你的第一个游戏:弹球 175
13.1 击打反弹球 176
13.2 创建游戏的画布 176
13.3 创建Ball类 177
13.4 增加几个动作 179
13.4.1 让小球移动 179
13.4.2 让小球来回反弹 181
13.4.3 改变小球的起始方向 182
13.5 你学到了什么 185
第14章 完成你的第一个游戏:反弹吧,小球! 187
14.1 加上球拍 188
14.2 让球拍移动 189
14.3 增加输赢因素 193
14.4 你学到了什么 197
14.5 编程小测验 197
第3部分 火柴人实例 201
第15章 火柴小人游戏的图形 201
15.1 火柴小人游戏计划 202
15.2 得到GIMP 202
15.3 创建游戏中的元素 203
15.3.1 准备一个有透明背景的图形 204
15.3.2 画火柴人 204
15.3.3 画平台 206
15.3.4 画门 206
15.3.5 画背景 207
15.3.6 透明 208
15.4 你学到了什么 208
第16章 开发火柴人游戏 209
16.1 创建Game类 210
16.1.1 设置窗口标题以及创建画布 210
16.1.2 完成_init_函数 211
16.1.3 创建主循环函数 212
16.2 创建坐标类 213
16.3 冲突检测 214
16.3.1 精灵在水平方向上冲突 214
16.3.2 精灵在垂直方向上冲突 216
16.3.3 把它们放在一起:最终的冲突检测代码 216
16.4 创建精灵类 218
16.5 添加平台类 219
16.5.1 加入平台对象 220
16.5.2 添加很多平台 221
16.6 你学到了什么 222
16.7 编程小测验 222
第17章 创建火柴人 225
17.1 初始化火柴人 226
17.1.1 装入火柴人图形 226
17.1.2 设置变量 227
17.1.3 与键盘按键绑定 228
17.2 让火柴人向左转和向右转 228
17.3 让火柴人跳跃 229
17.4 我们都做了什么 230
17.5 你学到了什么 231
第18章 完成火柴人逃生游戏 233
18.1 让火柴人动起来 234
18.1.1 创建动画函数 234
18.1.2 得到火柴人的位置 237
18.1.3 让火柴人移动 238
18.2 测试我们的火柴人精灵 244
18.3 门 245
18.3.1 创建DoorSprite类 245
18.3.2 门的检测 246
18.3.3 加入门对象 246
18.4 最终的游戏 247
18.5 你学到了什么 253
18.6 编程小测验 254
结束语 接下来学什么 255
附录 Python的关键字 263
术语表 277