本书介绍了进行Python编程所必须进行的技能,包括:编程基础,从简单的数据存储到复杂和有用的程序;Python如何在Visual Studio环境下工作;一些高级技术,包括类、基于对象的解决方案的设计;使用Python的各种库;构建Web应用和基于云的应用,以及GUI和游戏;测试和调试代码;理解职业开发的方方面面,构建自己的技能库。
主要内容:
■ 获取、安装和使用功能强大的免费工具,来创建新的Python程序
■ 在170个示例程序的引导下讲解关键概念,助你快速上手
■ 探讨程序运行时究竟发生了什么
■ 从专家的视角分析程序开发过程
■ 学习Python程序的核心元素
■ 使用类、方法和对象构建更复杂的软件
■ 合理组织程序,从而可以方便地构建和改进程序
■ 捕获和响应用户输入
■ 存储和操纵现实生活中遇到的多类数据
■ 自定义数据类型来解决特定问题
■ 创建妙趣横生的交互式程序
■ 构建新式的Web和云应用程序
■ 使用预置的库快速构建强大的软件
目 录
第Ⅰ部分 编程基础知识
第1章 开始使用Python 3
1.1 什么是Python 3
1.1.1 Python的起源 4
1.1.2 Python版本 4
1.2 打造使用Python的场所 5
1.2.1 获取工具 5
1.2.2 Python(适用于Windows PC) 6
1.3 启动Python 8
1.4 本章小结 11
第2章 Python和编程 13
2.1 编程人员的工作 13
2.1.1 编程和规划生日聚会 13
2.1.2 编程和问题 14
2.1.3 编程人员要善于沟通 15
2.2 计算机用于处理数据 16
2.2.1 机器、计算机和人 16
2.2.2 程序用于处理数据 18
2.2.3 Python用于处理数据 19
2.3 数据和信息 23
2.4 使用Python函数 27
2.4.1 ord函数 27
2.4.2 chr函数 28
2.4.3 使用bin函数探索数据存储 29
2.5 本章小结 30
第3章 Python程序结构 33
3.1 编写首个Python程序 33
3.1.1 使用IDLE运行Python程序 33
3.1.2 使用print函数获得程序输出 37
3.2 使用Python库 42
3.2.1 random库 42
3.2.2 time库 45
3.3 Python注释 46
3.4 从桌面运行Python 47
3.5 添加一些snaps函数 48
3.5.1 添加pygame库 48
3.5.2 snaps函数 49
3.6 本章小结 52
第4章 使用变量 55
4.1 Python中的变量 55
4.2 使用文本 59
4.2.1 标记字符串的开始和结束 61
4.2.2 文本中的转义字符 62
4.2.3 使用input函数读取文本 63
4.3 使用数值 65
4.3.1 将字符串转换为整型值 65
4.3.2 整数和实数 66
4.3.3 实数和浮点数 67
4.3.4 将字符串转换为浮点值 71
4.3.5 执行计算 72
4.3.6 在浮点数和整数之间转换 73
4.4 snaps函数get_weather_temp 75
4.5 本章小结 76
第5章 在程序中制定决策 79
5.1 布尔数据 79
5.1.1 创建布尔变量 79
5.1.2 布尔表达式 81
5.1.3 比较值 83
5.1.4 布尔运算 86
5.2 if结构 88
5.2.1 嵌套if条件 95
5.2.2 使用逻辑 96
5.3 使用决策创建应用程序 96
5.3.1 设计用户界面 97
5.3.2 实现用户界面 98
5.3.3 测试用户输入 99
5.3.4 完成程序 99
5.4 导入snaps库 100
5.5 本章小结 103
第6章 使用循环执行重复操作 105
6.1 while结构 105
6.1.1 使用while重复执行一系列语句 105
6.1.2 处理无效的用户输入 109
6.1.3 使用异常检查无效编号输入 112
6.1.4 异常和编号读取 114
6.1.5 处理多个异常 115
6.1.6 跳出循环 116
6.1.7 使用continue返回到循环顶部 117
6.1.8 重复循环计数 118
6.2 for循环结构 120
6.3 使用snaps制作数字闹钟 123
6.4 本章小结 124
第7章 使用函数简化程序 125
7.1 函数的组成 125
7.1.1 使用参数给函数提供信息 128
7.1.2 函数调用的返回值 135
7.2 构建可重用的函数 141
7.2.1 创建文本输入函数 141
7.2.2 为函数添加帮助信息 142
7.2.3 创建数值输入函数 144
7.2.4 将函数转换为Python模块 147
7.2.5 使用IDLE调试器 148
7.3 本章小结 153
第8章 存储数据集合 155
8.1 列表和销售金额跟踪 155
8.1.1 单独变量的局限性 157
8.1.2 Python中的列表 158
8.1.3 在列表中读取值 160
8.1.4 使用for循环显示列表 161
8.2 将程序重构为函数 162
8.2.1 创建占位函数 165
8.2.2 创建用户菜单 165
8.3 使用冒泡排序法 167
8.3.1 使用测试数据初始化列表 167
8.3.2 按降序排序列表 168
8.3.3 按升序排序列表 172
8.3.4 查找最大值和最
小值 173
8.3.5 计算销售总额和平均销售额 174
8.3.6 完成程序 174
8.4 在文件中存储数据 175
8.4.1 写入文件 176
8.4.2 写入销售金额 179
8.4.3 从文件读取 180
8.4.4 读取销售金额 182
8.4.5 处理文件错误 183
8.5 存储数据表 185
8.6 将列表用作查找表 188
8.7 元组 189
8.8 本章小结 191
第II部分 高级编程
第9章 使用类存储数据 197
9.1 生成Tiny Contacts应用 197
9.1.1 生成原型 198
9.1.2 在不同的列表中存储联系人详细信息 200
9.1.3 使用类存储联系人详细信息 202
9.1.4 在Tiny Contacts程序中使用Contact类 205
9.1.5 编辑联系人信息 207
9.1.6 使用pickle将联系人信息保存到文件中 215
9.1.7 使用pickle从文件加载联系人信息 217
9.1.8 给Tiny Contacts程序添加save和load函数 218
9.1.9 设置类实例 219
9.2 字典 223
9.2.1 字典管理 225
9.2.2 从函数返回字典 225
9.2.3 使用字典存储联系人信息 226
9.3 本章小结 227
第10章 使用类创建活动对象 229
10.1 创建Time Tracker 229
10.1.1 为类添加数据特性 230
10.1.2 创建聚合对象 231
10.1.3 为类创建方法特性 232
10.1.4 为方法添加验证代码 234
10.1.5 防止数据特性受到破坏 243
10.1.6 受保护的方法 246
10.2 创建类属性 246
10.3 扩展类设计 250
10.4 类中的__str__方法 257
10.5 Time Tracker中的法庭工作时长跟踪 260
10.5.1 Python map函数 264
10.5.2 Python join方法 269
10.6 使用snaps制作音乐 270
10.7 本章小结 273
第11章 设计面向对象的解决方案 277
11.1 Fashion Shop应用程序 277
11.1.1 应用程序数据设计 279
11.1.2 面向对象的设计 279
11.1.3 创建超类和子类 282
11.1.4 数据设计总结 295
11.1.5 实现应用程序行为 302
11.1.6 将对象作为组件 305
11.2 创建FashionShop组件 306
11.3 设计类 314
11.4 Python集合 315
11.4.1 集合和标签 318
11.4.2 集合与类层次结构的对比 321
11.5 本章小结 324
第12章 Python应用程序 327
12.1 高级函数 327
12.1.1 函数引用 327
12.1.2 使用lambda表达式 332
12.1.3 迭代器函数和yield语句 335
12.1.4 使用任意实参数量的函数 340
12.2 模块和包 343
12.2.1 Python模块 343
12.2.2 给BTCInput添加readme函数 343
12.2.3 将模块作为程序运行 344
12.2.4 检测模块是否作为程序执行 344
12.2.5 创建Python包 345
12.2.6 导入包中的模块 347
12.3 程序测试 350
12.3.1 Python assert语句 351
12.3.2 Python unittest模块 352
12.3.3 创建测试 355
12.4 查看程序文档 356
12.5 本章小结 361
第III部分 Python实战
第13章 Python和图形用户界面 365
13.1 Visual Studio Code 365
13.1.1 安装Visual Studio Code 366
13.1.2 在Visual Studio Code中安装Python Extension 366
13.1.3 创建项目文件夹 367
13.1.4 创建程序文件 368
13.1.5 调试程序 369
13.1.6 其他Python编辑器 373
13.2 使用Tkinter创建图形用户界面 373
13.2.1 创建图形应用程序 379
13.2.2 网格布局 380
13.2.3 创建事件处理器 382
13.2.4 创建mainloop 383
13.2.5 处理GUI中的错误 383
13.2.6 显示消息框 385
13.2.7 在画布上绘制 388
13.2.8 Tkinter事件 391
13.2.9 创建绘制程序 392
13.2.10 输入多行文本 394
13.2.11 在Frame中组合显示元素 396
13.2.12 使用GUI创建可编辑的StockItem 396
13.2.13 创建一个Listbox选择器 402
13.2.14 包含GUI的应用程序 408
13.3 本章小结 410
第14章 Python程序用作网络客户端 413
14.1 计算机网络 413
14.2 从Python使用Web 422
14.2.1 读取网页 422
14.2.2 使用基于Web的数据 423
14.3 本章小结 426
第15章 Python程序用作网络服务器 429
15.1 在Python中创建Web服务器 429
15.1.1 一台基于套接字的小型服务器 429
15.1.2 Python Web服务器 433
15.1.3 通过文件支持网页 435
15.1.4 从Web用户获取信息 439
15.2 在Web上托管Python应用程序 443
15.3 本章小结 443
第16章 使用pygame创建游戏 445
16.1 开始使用pygame 445
16.2 使用pygame绘图 451
16.2.1 图像文件类型 451
16.2.2 将图像加载到游戏中 452
16.2.3 使图像能够移动 454
16.3 从pygame获取用户输入 455
16.4 创建游戏Sprite 457
16.4.1 添加玩家Sprite 461
16.4.2 控制玩家Sprite 463
16.4.3 添加Cracker Sprite 464
16.4.4 添加大量Sprite实例 465
16.4.5 捕获薄脆饼干 466
16.4.6 添加西红柿杀手 469
16.5 完成游戏 472
16.5.1 添加启动屏幕 472
16.5.2 结束游戏 475
16.5.3 游戏记分 476
16.6 本章小结 477