第1章 Python编程快速入门 1
1.1 编程的重要性 2
1.1.1 学习编程可以与智能时代同步 2
1.1.2 学习编程可以参与世界竞争 3
1.1.3 学习编程可以激发无限的创造力 3
1.1.4 学习编程可以把握世界上最好的机会 3
1.2 初识Python语言 4
1.2.1 Python的发展历程 4
1.2.2 Python的特点 5
1.3 搭建Python开发环境 6
1.3.1 Python的下载 6
1.3.2 Python的安装 7
1.3.3 Python的环境变量配置 11
1.4 编写Python程序 14
第2章 Python程序设计基础 19
2.1 基本数据类型 20
2.1.1 数值类型 20
2.1.2 字符串 22
2.2 变量与赋值 26
2.2.1 变量命名规则 26
2.2.2 变量的赋值 27
2.3 运算符 28
2.3.1 算术运算符 28
2.3.2 赋值运算符 30
2.3.3 位运算符 31
2.4 Python的代码格式 33
2.4.1 代码缩进 33
2.4.2 代码注释 33
2.4.3 空行 34
2.4.4 同一行显示多条语句 34
第3章 Python的选择结构 35
3.1 If语句 36
3.1.1 If语句的一般格式 36
3.1.2 If语句的注意事项 36
3.1.3 实例:游戏登录判断系统 37
3.2 关系运算符 38
3.2.1 关系运算符及意义 38
3.2.2 实例:学生成绩评语系统 38
3.2.3 实例:分解数字 40
3.3 逻辑运算符 41
3.3.1 逻辑运算符及意义 41
3.3.2 实例:判断是否是闰年 42
3.3.3 实例:剪刀、石头、布游戏 43
3.3.4 实例:摇骰子游戏 44
3.3.5 实例:每周学习计划系统 45
3.3.6 实例:水仙花数 46
3.4 嵌套if语句 47
3.4.1 嵌套if语句的一般格式 47
3.4.2 实例:判断一个数是否是2或5的倍数 48
3.4.3 实例:随机产生数并显示最大数和最小数 49
3.4.4 实例:火车站安检系统 50
3.4.5 实例:从小到大给数字排序 52
第4章 Python的循环结构 55
4.1 while循环 56
4.1.1 while循环的一般格式 56
4.1.2 实例:计算1+2+3+……+100的和 56
4.1.3 实例:随机产生10个随机数,并打印最大的数 57
4.1.4 实例:绘制★的等腰三角形 58
4.1.5 实例:统计字符个数 59
4.2 while循环中使用else语句 60
4.2.1 while循环中使用else语句的一般格式 61
4.2.2 实例:阶乘求和 61
4.3 无限循环 62
4.4 for循环 63
4.4.1 for循环的一般格式 63
4.4.2 实例:遍历显示学生的姓名 64
4.4.3 实例:遍历显示字符串中的字符 64
4.5 在for循环中使用range()函数 65
4.5.1 range()函数 65
4.5.2 实例:绘制★的菱形 66
4.5.3 实例:查找完数 67
4.5.4 实例:解决数学应用题 68
4.6 其他语句 70
4.6.1 break语句 70
4.6.2 continue语句 71
4.6.3 pass语句 72
第5章 Python的海龟绘图 73
5.1 海龟绘图Turtle库 74
5.1.1 Turtle库概述 74
5.1.2 导入Turtle库 74
5.2 画笔运动命令 75
5.2.1 画笔运动命令及意义 75
5.2.2 实例:绘制简单的图形 76
5.3 画笔控制命令 78
5.3.1 画笔控制命令及意义 78
5.3.2 实例:绘制太阳花 78
5.3.3 实例:绘制多彩六边形 79
5.3.4 实例:绘制小蟒蛇 80
5.4 全局控制命令 81
5.4.1 全局控制命令及意义 81
5.4.2 实例:绘制旋转文字效果 82
5.4.3 实例:绘制太极图 83
5.4.4 实例:绘制矩形螺旋线 85
第6章 Python的特征数据类型 87
6.1 列表 88
6.1.1 列表的定义 88
6.1.2 访问列表中的值 88
6.1.3 修改列表中的值 89
6.1.4 删除列表中的值 90
6.1.5 列表的函数 91
6.1.6 列表的方法 92
6.1.7 实例:排序数字 94
6.1.8 实例:彩色的蜘蛛网 95
6.2 元组 96
6.2.1 元组的定义 96
6.2.2 访问元组中的值 97
6.2.3 连接元组 98
6.2.4 删除整个元组 99
6.2.5 元组的函数 100
6.2.6 实例:显示自动售货系统中的数据 101
6.2.7 实例:绘制五角星 101
6.3 字典 102
6.3.1 字典的定义 103
6.3.2 访问字典中的值和键 103
6.3.3 修改字典 104
6.3.4 字典中的函数 105
6.3.5 实例:用户注册系统 106
6.3.6 实例:用户登录系统 108
6.4 集合 112
6.4.1 集合的定义 112
6.4.2 集合的两个基本功能 112
6.4.3 集合的运算符 113
6.4.4 集合的方法 115
6.4.5 实例:利用集合排序无重复的随机数 115
第7章 Python的函数及应用 117
7.1 初识函数 118
7.2 内置函数 118
7.2.1 数学函数 118
7.2.2 随机数函数 120
7.2.3 三角函数 122
7.2.4 字符串函数 123
7.2.5 实例:小学四则运算 127
7.3 用户自定义函数 130
7.3.1 函数的定义 130
7.3.2 调用自定义函数 130
7.3.3 函数的参数传递 132
7.3.4 函数的参数类型 134
7.3.5 匿名函数 138
7.3.6 实例:满天雪花效果 139
7.3.7 实例:分叉树效果 141
第8章 Python的面向对象程序设计 143
8.1 面向对象 144
8.1.1 面向对象概念 144
8.1.2 类定义与类对象 145
8.1.3 类的继承 147
8.1.4 类的多继承 150
8.2 模块 151
8.2.1 自定义模块 152
8.2.2 自定义模块的调用 153
8.2.3 import语句 154
8.2.4 标准模块 156
8.3 包 157
8.4 变量作用域及类型 159
8.4.1 变量作用域 159
8.4.2 全局变量和局部变量 161
8.4.3 global和nonlocal关键字 162
第9章 Python的文件及文件夹操作 165
9.1 文件的基本操作 166
9.1.1 文件的创建 166
9.1.2 写入文件内容 168
9.1.3 打开文件并读取内容 172
9.1.4 设置文件中光标的位置 174
9.2 文件夹的基本操作 176
9.2.1 创建文件夹 176
9.2.2 判断文件夹是否存在 178
9.2.3 文件夹重命名 179
9.2.4 文件夹的删除 181
9.2.5 shutil模块的应用 183
9.3 文件和文件夹的其他操作 185
9.3.1 获取和修改当前文件夹的位置 185
9.3.2 连接目录和文件名 186
9.3.3 文件的复制和删除 187
9.3.4 文件的属性信息 189
9.4 实例:实现文本的替换功能 190
第10章 Python的时间和日期 195
10.1 time模块 196
10.1.1 time模块表示时间的两种格式 196
10.1.2 时间戳 197
10.1.3 包括9个元素的元组 199
10.1.4 时间的格式化 200
10.1.5 time模块中的其他常用方法 203
10.2 datetime模块 204
10.2.1 date对象 204
10.2.2 time对象 208
10.2.3 datetime对象 209
10.2.4 timedelta对象 210
10.3 calendar模块 212
第11章 Python的GUI应用程序 219
11.1 GUI应用程序概述 220
11.2 Window窗体 220
11.3 常用控件 222
11.3.1 标签控件 222
11.3.2 按钮控件 223
11.3.3 输入文本框控件 225
11.3.4 单选按钮控件 226
11.3.5 复选框控件 228
11.3.6 列表框控件 231
11.3.7 下拉列表框控件 234
11.3.8 多行文本框控件 235
11.3.9 刻度滑动条控件 238
11.3.10 滚动条控件 239
11.4 几何管理对象 241
11.4.1 pack对象 242
11.4.2 grid对象 242
11.4.3 place对象 243
11.4.4 实例:Window窗体登录系统 244
11.5 窗体菜单 246
11.5.1 Menu对象的方法与属性 246
11.5.2 实例:为窗体添加菜单 247
11.5.3 实例:添加右键菜单 249
11.5.4 实例:添加菜单命令 250
11.6 常用对话框 251
11.6.1 messagebox对话框 251
11.6.2 filedialog对话框 257
11.6.3 simpledialog对话框 262
11.6.4 colorchooser对话框 265
第12章 利用tkinter库绘制图形和制作动画 269
12.1 创建画布 270
12.1.1 Canvas控件 270
12.1.2 实例:利用Canvas控件创建一个背景色为黄色的画布 270
12.2 绘制各种图形 271
12.2.1 绘制线段 271
12.2.2 绘制椭圆 273
12.2.3 绘制矩形 275
12.2.4 绘制多边形 275
12.2.5 绘制弧线 276
12.3 显示图像 277
12.3.1 矢量图 278
12.3.2 位图 278
12.3.3 显示矢量图 279
12.3.4 显示位图 282
12.4 显示文本和窗体组件 283
12.4.1 显示文本 283
12.4.2 显示窗体控件 284
12.5 实例:利用键盘控制多彩矩形的运动 285
12.6 实例:利用time实现矩形的运动效果 287
12.7 实例:手绘效果 288
12.8 实例:图形的放大与缩小效果 289
12.9 实例:滚动字幕效果 291
第13章 利用Matplotlib库绘制图形和制作动画 293
13.1 初识Matplotlib库 294
13.1.1 Matplotlib概述 294
13.1.2 Matplotlib的安装 294
13.1.3 Numpy的安装与概述 297
13.2 figure()方法的应用 297
13.2.1 figure()方法的各参数意义 298
13.2.2 figure()方法的实例 298
13.3 plot()方法的应用 299
13.3.1 plot()方法的各参数意义 299
13.3.2 plot()方法的实例 300
13.4 subplot()方法的应用 301
13.4.1 subplot()的各参数意义 301
13.4.2 subplot()的实例 302
13.5 add_axes()方法的应用 303
13.6 绘制条形图 304
13.6.1 简单垂直条形图 304
13.6.2 简单水平条形图 305
13.7 绘制饼形图 307
13.7.1 pie()方法语法格式及各参数意义 307
13.7.2 pie()方法的实例 308
13.8 制作动画 309
13.8.1 实例:余弦的动画效果 310
13.8.2 实例:过山车动画效果 311
第14章 Python的pygame游戏 313
14.1 初识Pygame库 314
14.1.1 SDL库 314
14.1.2 Pygame的安装 314
14.2 创建窗体 315
14.2.1 set_mode()方法 315
14.2.2 实例:创建窗体并显示文字 316
14.3 利用键盘控制图像的动画效果 317
14.3.1 背景加载图像 317
14.3.2 加载图像并动起来 319
14.3.3 利用键盘事件控制动画 320
14.3.4 添加背景音乐 321
14.4 绘制各种图形 322
14.4.1 绘制矩形 323
14.4.2 绘制圆和椭圆 324
14.4.3 绘制其他图形 325
14.5 精灵和精灵组 328
14.5.1 编写精灵类 328
14.5.2 创建窗体并显示精灵类中的图像精灵 329
14.5.3 产生多个精灵并运动 330
14.6 实例:可以移动的圆 331
14.7 实例:弹弹猫 333
14.8 实例:利用键盘控制动画猫 335
第15章 Python的计算机视觉 339
15.1 初识计算机视觉 340
15.1.1 什么是计算机视觉 340
15.1.2 计算机视觉的三个层次 340
15.1.3 计算机视觉与人工智能 341
15.1.4 计算机视觉与图像处理 341
15.1.5 计算机视觉与模式识别 341
15.1.6 计算机视觉与机器视觉 341
15.2 计算机视觉应用要解决的经典问题 342
15.3 计算机视觉系统的组成 343
15.3.1 图像获取 344
15.3.2 预处理 344
15.3.3 特征提取 344
15.3.4 检测分割 344
15.3.5 高级处理 344
15.4 计算机视觉的应用领域 345
15.5 利用Python代码实现计算机视觉 346
15.5.1 OpenCV包的安装 346
15.5.2 CV2中的几个常用函数 347
15.5.3 实例:读入图像并显示 348
15.5.4 实例:保存图像为另一种格式图像 349
15.5.5 实例:色彩空间转换 350
15.5.6 实例:边缘检测 351
15.5.7 实例:人脸识别 352
15.5.8 实例:眼睛识别 353
第16章 Python编程案例 355
16.1 案例:手机销售系统 356
16.1.1 查看手机信息功能 356
16.1.2 购买手机功能 356
16.1.3 更改手机信息功能 357
16.1.4 编写主函数 358
16.1.5 手机销售系统运行效果 359
16.2 案例:钟表动画效果 362
16.3 案例:弹球游戏 366
16.3.1 弹球游戏界面效果 367
16.3.2 挡板移动效果 368
16.3.3 小球动画效果 369
16.3.4 弹球游戏的得分 370
16.4 案例:雨滴动画效果 372
16.5 案例:大球吃小球动画效果 375
16.5.1 大球吃小球的窗体界面 375
16.5.2 显示三个随机颜色的运动小球 376
16.5.3 当小球相碰时大球吃小球 378
16.5.4 单击增加一个随机颜色的小球 379