基础篇 3
第1章Python语言介绍 3
1.1 Python语言简介 3
1.2安装与配置Python环境 4
1.2.1安装Python 4
1.2.2运行Python 5
1.3 Python开发环境IDLE简介 6
1.3.1 IDLE的启动 6
1.3.2利用IDLE创建Python程序 7
1.3.3 IDLE常用编辑功能 7
1.3.4在IDLE中运行和调试Python程序 8
1.4 Python基本输入/输出 9
1.4.1 Python基本输入 9
1.4.2 Python基本输出 10
1.5 Python代码规范 11
1.6使用帮助 12
1.7习题 14
第2章Python语法基础 15
2.1 Python数据类型 15
2.1.1数值类型 15
2.1.2字符串 15
2.1.3布尔类型 18
2.1.4空值 18
2.1.5 Python数字类型转换 19
2.2常量和变量 19
2.2.1变量 19
2.2.2常量 21
2.3运算符与表达式 21
2.3.1运算符 22
2.3.2表达式 28
2.4序列数据结构 28
2.4.1列表 28
2.4.2元组 31
2.4.3字典 34
2.4.4集合 38
2.5习题 39
第3章Python控制语句 40
3.1选择结构 40
3.1.1 if语句 40
3.1.2 if…else语句 41
3.1.3 if…elif…else语句 42
3.1.4 pass语句 44
3.2循环结构 44
3.2.1 while语句 44
3.2.2 for语句 46
3.2.3 continue和break语句 47
3.2.4循环嵌套 48
3.3常用算法及应用实例 49
3.3.1累加与累乘 49
3.3.2求最大数和最小数 50
3.3.3枚举法 51
3.3.4递推与迭代 52
3.4游戏初步——猜单词游戏 54
3.5习题 55
第4章Python函数与模块 57
4.1函数的定义和使用 57
4.1.1函数的定义 57
4.1.2函数的使用 58
4.1.3 Lambda表达式 59
4.1.4函数的返回值 60
4.2函数参数 61
4.2.1函数形参和实参的区别 61
4.2.2参数的传递 62
4.2.3函数参数的类型 64
4.2.4变量的作用域 67
4.3闭包和函数的递归调用 68
4.3.1闭包 68
4.3.2函数的递归调用 68
4.4内置函数 72
4.4.1数学运算函数 72
4.4.2集合操作函数 72
4.4.3字符串函数 73
4.4.4反射函数 74
4.4.5 I/O函数 75
4.5模块 76
4.5.1 import导入模块 76
4.5.2定义自己的模块 77
4.5.3 time模块 79
4.5.4日历(calendar)模块 80
4.5.5日期时间(datetime)模块 80
4.5.6 random模块 82
4.5.7 math模块和cmath模块 82
4.6游戏初步 84
4.7习题 90
第5章Python文件的使用 91
5.1文件 91
5.2文件的访问 92
5.2.1打开(建立)文件 92
5.2.2读取文本文件 94
5.2.3写文本文件 95
5.2.4文件内移动 96
5.2.5文件的关闭 98
5.2.6二进制文件的读/写 98
5.3文件夹的操作 101
5.3.1当前工作目录 101
5.3.2目录操作 101
5.3.3文件操作 103
5.4文件应用案例——游戏地图存储 105
5.4.1地图写入文件 106
5.4.2从地图文件读取信息 106
5.5习题 107
第6章 面向对象程序设计 108
6.1面向对象程序设计基础 108
6.2类和对象 109
6.2.1定义和使用类 110
6.2.2构造函数 111
6.2.3析构函数 111
6.2.4实例属性和类属性 112
6.2.5私有成员与公有成员 114
6.2.6方法 116
6.3类的继承和多态 117
6.3.1类的继承 117
6.3.2类的多继承 119
6.3.3方法重写 120
6.3.4多态 120
6.3.5运算符重载 122
6.4面向对象应用案例——扑克牌类设计 123
6.4.1关键技术——random模块 124
6.4.2程序设计的思路 127
6.5习题 130
第7章Tkinter图形界面设计 131
7.1 Python图形开发库 131
7.1.1创建Windows窗口 131
7.1.2几何布局管理器 132
7.2常用Tkinter组件的使用 136
7.2.1 Tkinter组件 136
7.2.2标准属性 137
7.2.3 Label标签组件 137
7.2.4 Button按钮组件 139
7.2.5单行文本框Entry和多行文本框Text 140
7.2.6列表框组件Listbox 142
7.2.7单选按钮Radiobutton和复选框Checkbutton 144
7.2.8菜单组件Menu 147
7.2.9对话框 151
7.2.10消息窗口(消息框) 153
7.2.11 Frame框架组件 155
7.2.12 Scrollbar滚动条组件 157
7.3图形绘制 158
7.3.1 Canvas画布组件 158
7.3.2 Canvas上的图形对象 158
7.4 Tkinter字体 167
7.4.1通过元组表示字体 167
7.4.2通过Font对象表示字体 168
7.5 Python事件处理 169
7.5.1事件类型 169
7.5.2事件绑定 170
7.5.3事件处理函数 172
7.6图形界面程序设计的应用 174
7.6.1开发猜数字游戏 174
7.6.2扑克牌发牌程序窗体图形版 176
7.7习题 177
第8章Python数据库应用 179
8.1数据库基础 179
8.1.1数据库概念 179
8.1.2关系型数据库 180
8.1.3数据库和Python接口程序 180
8.2结构化查询语言SQL 181
8.2.1数据表的建立(CREATE TABLE)和删除(DROP) 181
8.2.2查询语句SELECT 182
8.2.3添加记录语句INSERT INTO 183
8.2.4更新语句UPDATE 184
8.2.5删除记录语句DELETE 184
8.3 SQLite数据库简介 184
8.3.1 SQLite数据库 184
8.3.2 SQLite3的数据类型 185
8.3.3 SQLite3的函数 186
8.3.4 SQLite3的模块 187
8.4 Python的SQLite3数据库编程 187
8.4.1访问数据库的步骤 187
8.4.2创建数据库和表 189
8.4.3数据库的插入、更新和删除操作 189
8.4.4数据库表的查询操作 190
8.4.5数据库使用实例 191
8.5 Python数据库应用案例——智力问答游戏 193
8.6习题 196
第9章 网络编程和多线程 197
9.1网络编程基础 197
9.1.1互联网TCP/IP协议 197
9.1.2 IP协议 198
9.1.3 TCP和UDP协议 198
9.1.4端口 198
9.1.5 Socket 198
9.2 TCP编程 202
9.2.1 TCP客户端编程 202
9.2.2 TCP服务器端编程 204
9.3 UDP编程 206
9.4多线程编程 208
9.4.1进程和线程 208
9.4.2创建线程 209
9.4.3线程同步 213
9.4.4定时器Timer 214
9.5网络编程案例——Python在线聊天程序 215
9.5.1在线聊天程序服务器端 215
9.5.2在线聊天程序客户端 218
9.6习题 220
开发篇 223
第10章 连连看游戏 223
10.1连连看游戏介绍 223
10.2程序设计的思路 224
10.3程序设计的步骤 232
第11章 推箱子游戏 237
11.1推箱子游戏介绍 237
11.2程序设计的思路 237
11.3关键技术 239
11.4程序设计的步骤 240
第12章 两人麻将游戏 245
12.1麻将游戏介绍 245
12.2两人麻将游戏设计的思路 246
12.2.1素材图片 246
12.2.2游戏逻辑实现 247
12.2.3碰吃牌判断 247
12.2.4和牌算法 248
12.2.5实现计算机智能出牌 251
12.3关键技术 253
12.3.1声音播放 253
12.3.2返回对应位置的组件 253
12.3.3对保存麻将牌的列表排序 254
12.4两人麻将游戏设计的步骤 256
12.4.1麻将牌类设计 256
12.4.2设计游戏主程序 257
第13章 单机版五子棋 267
13.1单机版五子棋游戏简介 267
13.2五子棋设计思想 267
13.3关键技术 268
13.4程序设计的步骤 270
第14章 网络五子棋 273
14.1网络五子棋游戏简介 273
14.2通信协议 273
14.3服务器端程序设计的步骤 275
14.4客户端程序设计的步骤 280
第15章 扫雷游戏 284
15.1游戏介绍 284
15.2程序设计的思路 285
15.3关键技术 285
15.4程序设计的步骤 287
第16章 中国象棋 292
16.1中国象棋介绍 292
16.2关键技术 293
16.3中国象棋设计思路 294
16.4中国象棋实现的步骤 298
第17章21点扑克牌游戏 307
17.1 21点扑克牌游戏介绍 307
17.2关键技术 307
17.3程序设计的步骤 308
第18章 华容道游戏 314
18.1华容道游戏介绍 314
18.2华容道游戏设计思路 314
18.3程序设计的步骤 315
提高篇 325
第19章 基于Pygame游戏设计 325
19.1 Pygame基础知识 325
19.2 Pygame的使用 328
19.2.1 Pygame开发游戏的主要流程 328
19.2.2 Pygame的图像图形绘制 330
19.2.3 Pygame的键盘和鼠标事件的处理 332
19.2.4 Pygame的字体使用 336
19.2.5 Pygame的声音播放 338
19.2.6 Pygame的精灵使用 339
19.3基于Pygame设计贪吃蛇游戏 344
19.4基于Pygame设计飞机大战游戏 350
19.4.1游戏角色 351
19.4.2游戏界面显示 353
19.4.3游戏逻辑实现 354
参考文献 359