



操作符 /20
3.3 布尔操作符 /21
3.3.1 二元布尔操作符 /22
3.3.2 not操作符 /22
3.4 混合布尔和比较操作符 /23
3.5 控制流的元素 /23
3.5.1 条件 /23
3.5.2 代码块 /23
3.6 程序执行 /24
3.7 控制流语句 /24
3.7.1 if语句 /24
3.7.2 else语句 /25
3.7.3 elif语句 /26
3.7.4 while语句 /28
3.7.5 Break语句 /30
3.7.6 continue语句 /31
3.7.7 for循环和range()函数 /32
3.8 导入模块 /35
3.9 用sys.exit()提前结束程序 /36
3.10 编程实例 /36
第4章 函数
▼视频讲解
4.1 def语句和参数 /37
4.1.1 创建一个函数 /37
4.1.2 参数 /38
4.2 返回值和return语句 /41
4.3 None值 /42
4.4 关键字参数和print() /43
4.5 局部和全局作用域 /43
4.6 global语句 /46
4.7 异常处理 /48
4.8 一个小程序:猜数字 /50
4.9 编程实例 /52
4.9.1 Collatz序列 /52
4.9.2 输入验证 /52
第5章 列表
▼视频讲解
5.1 列表数据类型 /53
5.1.1 创建列表 /54
5.1.2 向列表增加元素 /54
5.2 使用列表 /55
5.2.1 从列表中获取内容 /55
5.2.2 列表“分片” /56
5.2.3 修改元素 /57
5.2.4 向列表增加元素的其他办法 /58
5.2.5 从列表中删除元素 /59
5.2.6 搜索列表 /60
5.2.7 循环处理列表 /62
5.2.8 列表排序 /62
5.2.9 双重列表:数据表 /64
5.3 增加的赋值操作 /65
5.4 方法 /66
5.4.1 用index()方法在列表中查找值 /66
5.4.2 用append()和insert()方法在列表中添加值 /67
5.4.3 用remove()方法从列表中删除值 /67
5.4.4 用sort()方法将列表中的值排序 /68
5.5 例子程序:神奇8球和列表 /69
5.6 类似列表的类型:字符串和元组 /70
5.6.1 可变和不可变数据类型 /71
5.6.2 元组数据类型 /72
5.6.3 用list()和tuple()函数来转换类型 /73
5.7 引用 /74
5.7.1 传递引用 /75
5.7.2 copy模块的copy()和deepcopy()函数 /76
5.8 编程实例 /77
5.8.1 逗号代码 /77
5.8.2 字符图网格 /77
第6章 字典和结构化数据
▼视频讲解
6.1 字典数据类型 /78
6.1.1 字典与列表 /78
6.1.2 keys()、values()和items()方法 /80
6.1.3 检查字典中是否存在键或值 /81
6.1.4 get()方法 /81
6.1.5 setdefault()方法 /82
6.2 漂亮打印 /83
6.3 编程实例 /84
第7章 字符串操作
▼视频讲解
7.1 处理字符串 /86
7.1.1 字符串字面量 /86
7.1.2 双引号 /86
7.1.3 转义字符 /87
7.1.4 原始字符串 /87
7.1.5 用三重引号的多行字符串 /88
7.1.6 井号字符(#) /88
7.1.7 字符串下标和切片 /89
7.1.8 字符串的in和notin操作符 /89
7.2 有用的字符串方法 /90
7.2.1 字符串方法upper()、lower()、isupper()和islower() /90
7.2.2 isX字符串方法 /91
7.2.3 字符串方法startswith()和endswith() /93
7.2.4 字符串方法join()和split() /93
7.2.5 用rjust()、ljust()和center()方法对齐文本 /94
7.2.6 用strip()、rstrip()和lstrip()删除空白字符 /95
7.2.7 用pyperclip模块拷贝粘贴字符串 /96
7.3 编程实例 /97
项目1:口令保管箱 /97
项目2:在Wiki标记中添加无序列表 /98
第8章 Python常用模块
▼视频讲解
8.1 使用copy模块来复制 /101
8.2 keyword模块记录了所有的关键字 /105
8.3 用random模块获得随机数 /105
8.3.1 用randint来随机挑选一个数字 /106
8.3.2 用choice从列表中随机选取一个元素 /107
8.3.3 用shuffle来给列表洗牌 /107
8.4 用sys模块来控制程序 /108
8.4.1 用exit函数来退出程序 /108
8.4.2 从stdin对象读取 /108
8.4.3 用stdout对象来写入 /108
8.4.4 用的Python版本 /109
8.5 用time模块来得到时间 /109
8.5.1 用asctime来转换日期 /112
8.5.2 用localtime来得到日期和时间 /112
8.5.3 用sleep来休息一会儿 /113
8.6 用pickle模块来保存信息 /114
8.7 编程小测验 /115
第9章 海龟作图
▼视频讲解
9.1 海龟模块 /117
9.1.1 创建画布 /117
9.1.2 移动海龟 /118
9.2 从基本的正方形开始 /122
9.3 画星星 /122
9.4 画汽车 /124
9.5 填色 /126
9.5.1 用来画填色圆形的函数 /126
9.5.2 使用纯白和纯黑 /129
9.6 画方形的函数 /129
9.7 画填色正方形 /130
9.8 画填好色的星星 /132
9.9 编程实例 /133
第二部分 大家一起来编程
第10章 动手操作
▼视频讲解
10.1 三道小测试 /136
10.2 从手指到计算机 /137
10.3 GUI——图形用户界面 /142
10.3.1 什么是GUI /143
10.3.2 第一个GUI /143
10.3.3 GUI输入 /144
10.3.4 选择自己的口味 /145
10.3.5 猜数字游戏 /148
10.3.6 其他GUI组件 /149
10.4 给数字起名字 /150
10.5 发现循环的秘密 /153
10.6 与循环讲条件 /155
10.7 使用函数做计算 /156
10.8 自己也能做动画 /158
第11章 游戏初体验学用书
▼视频讲解
11.1 Pygame的用户界面 /161
11.1.1 从一个点开始 /162
11.1.2 Pygame和海龟图 /163
11.1.3 游戏相关 /164
11.2 移动和弹跳 /167
11.2.1 让笑脸移动起来 /167
11.2.2 实现笑脸动画 /170
11.2.3 使笑脸弹跳起来 /171
11.2.4 来回弹跳的笑脸 /176
11.3 小结 /179
第12章 互动式游戏
▼视频讲解
12.1 点击和拖动 /181
12.1.1 点击 /181
12.1.2 利用拖动进行绘制 /183
12.2 笑脸爆炸 /186
12.2.1 笑脸精灵 /186
12.2.2 设置精灵 /188
12.2.3 更新位置 /189
12.2.4 设置大小 /190
12.2.5 实际程序 /190
12.3 点破气球 /192
12.3.1 检测碰撞和删除对象 /192
12.3.2 实际程序 /193
12.4 小结 /194
第三部分 编程进阶
第13章 弹球游戏
▼视频讲解
13.1 构建游戏框架 /198
13.1.1 绘制游戏部件 /199
13.1.2 记录分数 /200
13.1.3 显示得分 /203
13.1.4 实际程序 /204
13.2 完善游戏 /206
13.2.1 游戏结束 /206
13.2.2 重新开始 /207
13.2.3 增加难度 /207
13.2.4 实际程序 /209
13.3 增加更多特效 /210
13.3.1 增加声音 /210
13.3.2 存储游戏进度 /211
13.3.3 实际程序 /213
13.4 小结 /215
第14章 大战外星人
▼视频讲解
14.1 规则项目 /217
14.2 安装Pygame /218
14.3 构建飞船 /218
14.3.1 开始游戏项目 /218
14.3.2 添加飞船图像 /221
14.3.3 重构:模块game_functions /224
14.4 驾驶飞船 /226
14.4.1 响应按键 /226
14.4.2 允许不断移动 /228
14.4.3 左右移动 /229
14.4.4 调整飞船的速度 /231
14.4.5 限制飞船的活动范围 /233
14.4.6 重构check_events() /234
14.5 开炮射击 /235
14.5.1 添加子弹设置 /235
14.5.2 创建Bullet_shoot类 /235
14.5.3 将子弹存储到编组中 /236
14.5.4 开火 /237
14.5.5 删除已消失的子弹 /239
14.5.6 限制子弹数量 /239
14.5.7 创建函数update_bullets() /241
14.5.8 创建函数fire_bullet() /242
14.6 创建一个外星人 /243
14.6.1 创建Alien类 /244
14.6.2 创建Alien实例 /244
14.6.3 让外星人出现在屏幕上 /245
14.7 创建一群外星人 /246
14.7.1 确定一行可容纳多少个外星人 /246
14.7.2 创建多行外星人 /246
14.7.3 创建外星人群 /247
14.7.4 重构 /250
14.7.5 添加行 /250
14.8 移动外星人群 /253
14.8.1 向右移动外星人 /253
14.8.2 创建表示外星人移动方向的设置 /255
14.8.3 屏幕边缘判断 /256
14.8.4 向下移动外星人群并改变移动方向 /257
14.9 击落外星人 /258
14.9.1 检测子弹与外星人的碰撞 /259
14.9.2 为测试创建大子弹 /260
14.9.3 生成新的外星人群 /262
14.9.4 提高子弹的速度 /263
14.9.5 重构update_bullets() /263
14.10 游戏结束 /264
14.10.1 检测外星人和飞船碰撞 /264
14.10.2 响应碰撞 /266
14.10.3 有外星人到达屏幕底端 /269
14.10.4 游戏结束 /270
14.11 确定应运行的部分 /271
14.12 最终的游戏 /272
14.12.1 invasion_alien.py /272
14.12.2 game_functions.py /273
14.12.3 game_settings.py /275
14.12.4 game_ship.py /275
14.12.5 game_alien.py /276
14.12.6 game_stats.py /277
14.12.7 bullet.py /277
第15章 火柴人游戏
▼视频讲解
15.1 游戏所需图形 /278
15.1.1 准备图形 /279
15.1.2 画火柴人 /280
15.1.3 画平台 /282
15.1.4 画门 /282
15.1.5 画背景 /283
15.1.6 透明 /284
15.2 开始开发游戏 /284
15.2.1 创建Game类 /284
15.2.2 创建坐标类 /288
15.2.3 冲突检测 /289
15.2.4 创建精灵类 /292
15.2.5 添加平台类 /293
15.3 创建火柴人 /295
15.3.1 初始化火柴人 /295
15.3.2 让火柴向左转和向右转 /298
15.3.3 让火柴人跳跃 /298
15.3.4 回顾一下 /299
15.4 火柴人逃生 /300
15.4.1 创建动画函数 /300
15.4.2 测试火柴精灵 /309
15.4.3 门 /310
15.4.4 最终的游戏 /312
第四部分 程序调试与数据库
第16章 Python基本文件操作
▼视频讲解
16.1 创建和打开文件 /316
16.1.1 整个文件读取 /318
16.1.2 文件路径 /320
16.1.3 逐行读取 /321
16.1.4 读取指定字符 /322
16.1.5 打开文件时使用with语句 /324
16.2 关闭文件 /325
16.3 写入文件内容 /325
16.3.1 写入空文件 /325
16.3.2 写入多行 /326
16.3.3 附加到文件 /327
16.4 删除文件 /328
16.5 文件重命名 /329
第17章 程序调试
▼视频讲解
17.1 异常(错误) /331
17.2 异常处理语句 /333
17.2.1 try...except语句 /333
17.2.2 try...except...else语句 /335
17.2.3 try...except...finally语句 /336
17.2.4 使用raise语句抛出异常 /337
17.3 程序调试 /338
17.3.1 用Python自带的IDLE进行程序调试 /338
17.3.2 用assert语句调试程序 /342
第18章 数据库基本操作
▼视频讲解
18.1 数据库编程接口 /344
18.1.1 连接对象 /344
18.1.2 游标对象 /345
18.2 SQLite /346
18.2.1 数据库文件创建 /346
18.2.2 SQLite操作 /347
18.3 使用MySQL /351
18.3.1 下载安装MySQL /351
18.3.2 安装PyMySQL /355
18.3.3 数据库连接 /355
18.3.4 数据表创建 /356
18.3.5 数据表操作 /357
编程语言与程序设计
Python编程 从入门到实践 第3版(图灵出品)
编程语言与程序设计
Hello算法(图灵出品)
编程语言与程序设计
C++ Primer Plus 第6版 中文版(异步图书出品)
编程语言与程序设计
C++ Primer(中文版 第5版)(博文视点出品)
编程语言与程序设计
高效C/C++调试