父与子的编程之旅
出版信息
桑德 (Warren Sande)、桑德 (Carter Sande) / 苏金国、易郑超 / 人民邮电出版社 / 2014-10-1 / CNY 69.00
内容简介
本书是一本家长与孩子共同学习编程的入门书。作者是一对父子,他们以Python语言为例,详尽细致地介绍了Python如何安装、字符串和操作符等程序设计的基本概念,介绍了条件语句、函数、模块等进阶内容,最后讲解了用Python实现游戏编程。书中的语言生动活泼,叙述简单明了。 为了让学习者觉得编程有趣,本书编排了很多卡通人物及场景对话,让学习者在轻松愉快之中跨入计算机编程的大门。
第 2 版新增内容
首先,我们来说说第 2 版中有哪些内容没有改变,那就是我们决定在第 2 版中继续使用 Python 2,而不是转换到 Python 3。我们会在第 1 章解释其中的原因。
下面是第 2 版与第 1 版的不同之处
增加了一些说明,解释 Python 2 和 Python 3 的区别。
第 12 章增加了一节关于 Python 字典的内容。
在第 20 章的 GUI 编程部分,我们将不再被支持的 PythonCard 换成了应用更广泛的 PyQt。PyQt 也用在第 22 章的 Hangman 程序和第 24 章的电子宠物程序中。
增加了第 25 章,用来详细解释第 10 章中的 Skier 程序。
增加了第 26 章,讲述在简单的对战游戏中,如何编写一个有人工智
作者简介
Warren Sande
毕业于加拿大里贾那大学电气工程系。一直在面向计算机初学者教授软件基础课程,编写过大量广受欢迎的技术文档。
Carter Sande
是Warren之子,高中生,热爱计算机技术,喜欢编写复古的视频游戏。
目录
第1章 出发吧 1
1.1 安装Python 1
1.2 从IDLE 启动Python 3
1.3 来点指令吧 4
1.4 与Python 交互 6
1.5 该编程了 7
1.6 运行你的第一个程序 9
1.7 如果出问题 10
1.8 你的第二个程序 12
第2章 记住内存和变量 15
2.1 输入、处理和输出 15
2.2 名字 17
2.3 名字里是什么 21
2.4 数字和字符串 22
2.5 它们有多“可变” 23
2.6 全新的我 24
第3章 基本数学运算 27
3.1 四大基本运算 27
3.2 操作符 29
3.3 运算顺序 30
3.4 另外两个操作符 32
3.5 非常大和非常小 34
第4章 数据的类型 39
4.1 改变类型 39
4.2 得到更多信息:type() 42
4.3 类型转换错误 43
4.4 使用类型转换 43
第5章 输入 45
5.1 raw_input() 45
5.2 print 命令和逗号 46
5.3 输入数字 48
5.4 来自互联网的输入 50
第6章 GUI—图形用户界面 54
6.1 什么是GUI 54
6.2 第一个GUI 55
6.3 GUI 输入 56
6.4 选择你的口味 57
6.5 再看猜数游戏…… 60
6.6 其他GUI 组件 61
第7章 判断再判断 64
7.1 测试,测试 64
7.2 缩进 66
7.3 是不是有问题 67
7.4 其他类型的测试 68
7.5 如果测试为假会怎么样 69
7.6 测试多个条件 71
7.7 使用and 72
7.8 使用or 73
7.9 使用not 73
第8章 转圈圈 77
8.1 计数循环 78
8.2 使用计数循环 80
8.3 一条捷径—range() 81
8.4 风格问题—循环变量名 83
8.5 按步长计数 85
8.6 没有数字的计数 87
8.7 关于这个问题…… 88
8.8 跳出循环—break 和continue 89
第9章 全都为了你—注释 93
9.1 增加注释 93
9.2 单行注释 94
9.3 行末注释 94
9.4 多行注释 94
9.5 注释风格 95
9.6 注释掉 96
第10章 游戏时间到了 98
第11章 嵌套与可变循环 103
11.1 嵌套循环 103
11.2 可变循环 105
11.3 可变嵌套循环 106
11.4 更多可变嵌套循环 107
11.5 使用嵌套循环 109
第12章 收集起来—列表与字典 116
12.1 什么是列表 116
12.2 创建列表 117
12.3 向列表增加元素 117
12.4 这个点是什么 118
12.5 列表可以包含任何内容 118
12.6 从列表获取元素 119
12.7 列表“分片” 120
12.8 修改元素 122
12.9 向列表增加元素的其他方法 122
12.10 从列表删除元素 124
12.11 搜索列表 125
12.12 循环处理列表 126
12.13 列表排序 127
12.14 可改变和不可改变 130
12.15 双重列表:数据表 130
12.16 字典 133
第13章 函数 140
13.1 函数—积木 140
13.2 调用函数 142
13.3 向函数传递参数 143
13.4 有多个参数的函数 146
13.5 返回值的函数 148
13.6 变量作用域 149
13.7 强制为全局 152
13.8 关于变量命名的一点建议 153
第14章 对象 155
14.1 真实世界中的对象 155
14.2 Python 中的对象 156
14.3 对象 = 属性+ 方法 157
14.4 这个点是什么 157
14.5 创建对象 158
14.6 一个示例类—HotDog 163
14.7 隐藏数据 168
14.8 多态和继承 168
14.9 未雨绸缪 170
第15章 模块 173
15.1 什么是模块 173
15.2 为什么使用模块 173
15.3 积木桶 174
15.4 如何创建模块 174
15.5 如何使用模块 174
15.6 命名空间 176
15.7 标准模块 179
第16章 图形 183
16.1 寻求帮助—Pygame 183
16.2 Pygame 窗口 183
16.3 在窗口中画图 185
16.4 单个像素 194
16.5 图像 198
16.6 动起来 200
16.7 动画 201
16.8 更流畅的动画 202
16.9 让球反弹 203
16.10 让球翻转 206
第17章 动画精灵和碰撞检测 209
17.1 动画精灵 209
17.2 嘣! 碰撞检测 215
17.3 统计时间 219
第18章 一种新的输入—事件 224
18.1 事件 224
18.2 键盘事件 226
18.3 鼠标事件 230
18.4 定时器事件 232
18.5 另一个游戏—PyPong 234
第19章 声音 246
19.1 从Pygame 寻求更多帮助—mixer 246
19.2 制造声音与播放声音 247
19.3 播放声音 247
19.4 控制音量 250
19.5 重复音乐 252
19.6 为PyPong 添加声音 252
19.7 更多声音 253
19.8 为PyPong 添加音乐 257
第20章 更多GUI 261
20.1 使用PyQt 261
20.2 让GUI 做点事情 266
20.3 事件处理器的返回 268
20.4 移动按钮 269
20.5 更多有用的GUI 269
20.6 TempGUI 269
20.7 菜单上是什么 275
第21章 打印格式化与字符串 281
21.1 换行 282
21.2 水平间隔—制表符 283
21.3 在字符串中插入变量 285
21.4 数字格式化 286
21.5 格式化的新方法 291
21.6 更多字符串处理 292
第22章 文件输入与输出 299
22.1 什么是文件 299
22.2 文件名 300
22.3 文件位置 301
22.4 打开文件 304
22.5 读文件 305
22.6 文本文件和二进制文件 307
22.7 写文件 309
22.8 在文件中保存内容:pickle 312
22.9 又到了游戏时间—Hangman 314
第23章 碰运气—随机性 322
23.1 什么是随机性 322
23.2 掷骰子 323
23.3 创建一副牌 328
23.4 Crazy Eights 332
第24章 计算机仿真 345
24.1 真实世界建模 345
24.2 Lunar Lander 346
24.3 跟踪时间 351
24.4 时间对象 352
24.5 把时间保存到文件 355
24.6 电子宠物 357
第25章 Skier 游戏的说明 368
25.1 滑雪者 368
25.2 障碍物 372
第26章 Python Battle 381
26.1 Python Battle 381
26.2 创建一个Python Battle机器人 383
26.3 更复杂的机器人 385
26.4 坐标系统 385
第27章 接下来呢 390
27.1 致年龄小的读者 390
27.2 Python 391
27.3 游戏编程与Pygame 391
27.4 其他语言的游戏编程(非Python) 391
27.5 传承BASIC 392
27.6 移动应用 392
27.7 回顾 392
附录A 变量命名规则 394
附录B Python 2 与Python 3的差异 396
附录C 自测题答案 399