[套装书]Python程序设计教程:基于案例的学习方法(原书第3版)+Python程序设计(原书第3版)(2册)

作者
布兰德利·N. 米勒 大卫·L. 拉农 朱莉·安德森 凯·霍斯特曼 兰斯·尼塞斯
丛书名
计算机科学丛书
出版社
机械工业出版社
ISBN
9782107021530
简要
简介
内容简介书籍计算机书籍 ---------------------------8082088 - Python程序设计教程:基于案例的学习方法(原书第3版)--------------------------- 本书采用基于案例的学习方法,在不同应用场景下以问题求解为引导讲授Python程序设计,涵盖密码学、图像处理、天文学和生物信息学等领域。第3版更新至Python 3.8,更加强调动手实践,每一章都围绕一个实战项目展开讨论,并包含大量的编程练习题。全书在应用场景中螺旋式引入解决问题所必需的Python语法知识和编程方法,从而通过不断巩固和拓展所学知识,进一步培养读者的问题求解能力。本书适合作为高等院校计算机相关专业学生第yi门程序设计课程的教材或参考书,也可作为Python初学者的入门读物。 ---------------------------8080099 - Python程序设计(原书第3版)--------------------------- 本书面向Python初学者,采用模块方式呈现知识要点,而非百科全书式的语法大全。书中介绍了数值、字符串、列表、字典、集合、控制结构、函数、递归、排序、面向对象编程、文件操作等基础知识,通过大量案例来演示这些技术,重视计算思维的培养,由浅入深地将解决问题的完整方案一步步呈现在读者面前。本版新增了面向数据科学的程序示例和练习,扩展了有关字符串和列表的内容,并引入了海龟图形和游戏编程等新的数据包。本书既可作为高等院校计算机专业第 一门程序设计课的教材,也可供Python爱好者自学参考。
目录
[套装书具体书目]
8080099 - Python程序设计(原书第3版) - 9787111678816 - 机械工业出版社 - 定价 169
8082088 - Python程序设计教程:基于案例的学习方法(原书第3版) - 9787111685166 - 机械工业出版社 - 定价 99



---------------------------8082088 - Python程序设计教程:基于案例的学习方法(原书第3版)---------------------------


出版者的话
译者序
前言
第1章 Python导论 1
1.1 本章目标 1
1.2 什么是计算机科学 1
1.3 为什么要学习计算机科学 2
1.3.1 计算机科学的日常应用 2
1.3.2 计算机科学的重要性 3
1.4 问题求解的策略 3
1.5 Python概述 5
1.5.1 基本元素 6
1.5.2 命名对象 10
1.5.3 抽象 15
1.5.4 循环 22
1.6 本章小结 28
关键术语 28
Python关键字 29
编程练习题 29
第2章 πthon:估算圆周率的值 30
2.1 本章目标 30
2.2 圆周率是什么 30
2.3 有关math模块的进一步讨论 31
2.4 阿基米德方法 32
2.4.1 Python实现 33
2.4.2 开发一个计算圆周率pi的函数 34
2.5 累加器估算法 36
2.5.1 累加器模式 36
2.5.2 项的总和:莱布尼茨公式 37
2.5.3 项的乘积:沃利斯公式 39
2.6 蒙特卡罗模拟 41
2.6.1 布尔表达式 43
2.6.2 复合布尔表达式和逻辑运算符 44
2.6.3 选择语句 45
2.6.4 实现模拟 48
2.6.5 使用图形可视化结果 50
2.7 本章小结 53
关键术语 53
Python关键字、模块和命令 53
编程练习题 54
第3章 密码以及其他奥秘 55
3.1 本章目标 55
3.2 字符串数据类型 55
3.2.1 拼接 56
3.2.2 重复 56
3.2.3 索引 57
3.2.4 字符串切片 58
3.2.5 字符串搜索 59
3.2.6 字符串方法 60
3.2.7 字符函数 62
3.3 编码消息和解码消息 64
3.4 置换加密算法 64
3.4.1 使用置换进行加密 64
3.4.2 解密置换后的消息 66
3.4.3 读取用户输入 68
3.5 替换加密算法 69
3.6 创建密钥 71
3.7 维吉尼亚加密算法 76
3.8 本章小结 80
关键术语 81
Python关键字、函数和常量 81
编程练习题 82
第4章 Python集合导论 83
4.1 本章目标 83
4.2 什么是数据 83
4.3 存储用于处理的数据 83
4.3.1 再论字符串 83
4.3.2 列表 85
4.4 计算数据的统计量 90
4.4.1 简单离散度度量 90
4.5 中心趋势度量 92
4.5.1 均值 92
4.5.2 中值 93
4.5.3 众数 95
4.6 频率分布 100
4.6.1 使用字典计算频率分布表 100
4.6.2 不使用字典计算频率分布表 101
4.6.3 可视化频率分布 103
4.7 离散度:标准差 105
4.8 本章小结 107
关键术语 107
Python关键字、函数和方法 107
编程练习题 108
第5章 大数据:文件输入和输出 109
5.1 本章目标 109
5.2 使用文件处理大数据集 109
5.2.1 文本文件 109
5.2.2 迭代文件中的文本行 111
5.2.3 写入文件 112
5.2.4 字符串格式化 113
5.2.5 其他文件读取方法 115
5.3 从互联网上读取数据 117
5.3.1 使用CSV文件 117
5.3.2 使用while循环处理数据 118
5.3.3 列表解析 121
5.3.4 从互联网上读取JSON数据 125
5.4 数据相关性 128
5.5 本章小结 129
关键术语 129
Python关键字和函数 130
编程练习题 130
第6章 图像处理 131
6.1 本章目标 131
6.2 什么是数字图像处理 131
6.2.1 RGB颜色模型 131
6.2.2 cImage模块 132
6.3 基本图像处理 136
6.3.1 图像负片 136
6.3.2 灰度图像 138
6.3.3 一个通用的解决方案:像素映射器 140
6.4 参数、参数传递和作用范围 143
6.4.1 通过赋值调用的参数传递 144
6.4.2 名称空间 145
6.4.3 调用函数和查找名称 148
6.4.4 模块和名称空间 150
6.5 高级图像处理 151
6.5.1 图像缩放 151
6.5.2 图像拉伸:另一种视角 153
6.5.3 翻转图像 156
6.5.4 边缘检测 158
6.6 本章小结 162
关键术语 163
Python关键字、函数和变量 163
编程练习题 163
第7章 数据挖掘:聚类分析 164
7.1 本章目标 164
7.2 什么是数据挖掘 164
7.3 聚类分析:一个简单的示例 164
7.4 在简单数据集上实现聚类分析 165
7.4.1 两点之间的距离 165
7.4.2 聚类和中心点 167
7.4.3 K-均值聚类分析算法 167
7.4.4 K-均值算法的实现 168
7.4.5 K-均值算法的实现(续) 172
7.5 实现聚类分析:地震数据 176
7.5.1 文件处理 176
7.5.2 可视化 178
7.6 聚类分析的缺陷及解决方法 179
7.7 本章小结 180
关键术语 180
Python关键字 181
编程练习题 181
第8章 密码分析学 182
8.1 本章目标 182
8.2 概述 182
8.3 破解围栏加密算法 182
8.3.1 使用字典检查结果 183
8.3.2 暴力破解法 184
8.3.3 一种围栏解密算法 186
8.4 破解替换加密算法 187
8.4.1 字母频率 187
8.4.2 密文频率分析 192
8.4.3 字母对分析 193
8.4.4 单词频率分析 199
8.4.5 偏词模式匹配 202
8.4.6 正则表达式总结 208
8.5 本章小结 209
关键术语 210
Python函数、方法和关键字 210
编程练习题 210
第9章 分形图形:自然界的几何学 211
9.1 本章目标 211
9.2 概述 211
9.3 递归程序 212
9.3.1 递归正方形 212
9.3.2 经典递归函数 214
9.3.3 绘制递归树 214
9.3.4 谢尔宾斯基三角形 216
9.3.5 谢尔宾斯基三角形的调用树 218
9.4 雪花、林登麦伊尔系统及其语法 219
9.4.1 L-系统 220
9.4.2 自动扩展生长规则 222
9.4.3 更先进的L-系统 223
9.5 本章小结 226
关键术语 226
编程练习题 226
第10章 天体 227
10.1 本章目标 227
10.2 概述 227
10.2.1 程序设计 227
10.2.2 面向对象的程序设计 228
10.2.3 Python类 228
10.3 设计和实现Planet类 229
10.3.1 构造方法 229
10.3.2 访问器方法 231
10.3.3 更改器方法 234
10.3.4 特殊方法 235
10.3.5 方法和self 238
10.3.6 方法存储和查找的细节 239
10.4 设计和实现Sun类 240
10.5 设计和实现太阳系 241
10.6 制作太阳系的动画 243
10.6.1 使用Turtle对象 243
10.6.2 行星轨道 247
10.6.3 实现 249
10.7 本章小结 252
关键术语 253
Python关键字和函数 253
编程练习题 253
第11章 模拟 254
11.1 本章目标 254
11.2 熊和鱼 254
11.3 什么是模拟 254
11.4 游戏规则 255
11.5 设计模拟 255
11.6 实现模拟 257
11.6.1 World类 257
11.6.2 Fish类 261
11.6.3 Bear类 265
11.6.4 主模拟函数 267
11.7 植物繁殖 269
11.8 继承机制 271
11.9 本章小结 271
关键术语 271
Python关键字和函数 271
编程练习题 271
第12章 继承 273
12.1 本章目标 273
12.2 概述 273
12.3 基本设计 274
12.4 基本实现 277
12.4.1 Canvas类 278
12.4.2 GeometricObject类 279
12.4.3 Point类 280
12.4.4 Line类 281
12.4.5 测试实现的代码 282
12.5 理解继承 283
12.6 局限性 285
12.7 改进实现 287
12.8 实现多边形 291
12.9 本章小结 293
关键术语 293
Python关键字、方法和装饰器 293
编程练习题 294
第13章 电子游戏 295
13.1 本章目标 295
13.2 概述 295
13.2.1 事件驱动编程 295
13.2.2 模拟事件循环 296
13.2.3 多线程事件循环 297
13.3 基于turtle的事件驱动编程 300
13.3.1 一个使用按键的简单蚀刻素描程序 300
13.3.2 使用鼠标单击放置turtle 303
13.3.3 弹跳的turtle 305
13.4 创建自己的电子游戏 309
13.4.1 LaserCannon类 310
13.4.2 BoundedTurtle类 312
13.4.3 Drone类 313
13.4.4 Bomb类 315
13.4.5 把所有代码片段整合在一起 315
13.5 本章小结 317
关键术语 317
Python关键字和装饰器 317
编程练习题 317
网络资源一
附录A 安装必需的软件
附录B Python快速参考
附录C turtle参考
附录D 部分“动手实践”参考答案



---------------------------8080099 - Python程序设计(原书第3版)---------------------------


出版者的话
译者序
前言
第1章 导论 1
1.1 计算机程序 1
1.2 计算机组成结构 2
1.3 Python程序设计语言 4
1.4 熟悉程序设计环境 5
1.5 分析我们的第一个程序 9
1.6 错误信息 11
1.7 问题求解:算法设计 12
本章小结 18
复习题 19
编程题 20
第2章 数值和字符串编程 22
2.1 变量 22
2.1.1 定义变量 22
2.1.2 数值类型 24
2.1.3 变量名称 25
2.1.4 常量 25
2.1.5 注释 26
2.2 算术运算 28
2.2.1 基本的算术运算 28
2.2.2 乘幂 28
2.2.3 整除和余数 29
2.2.4 调用函数 30
2.2.5 数学函数 31
2.3 问题求解:先手工演算 35
2.4 字符串 38
2.4.1 字符串类型 38
2.4.2 字符串的拼接和重复 38
2.4.3 数值和字符串之间的相互转换 39
2.4.4 字符串和字符 40
2.4.5 字符串方法 41
2.5 输入和输出 43
2.5.1 用户输入 43
2.5.2 数值输入 44
2.5.3 格式化输出 45
2.6 图形应用:简单绘图 54
2.6.1 创建窗口 54
2.6.2 直线和多边形 55
2.6.3 填充形状和颜色 57
2.6.4 椭圆、圆和文本 59
本章小结 64
复习题 65
编程题 68
第3章 选择结构 76
3.1 if语句 76
3.2 关系运算符 80
3.3 嵌套分支 87
3.4 多分支结构 91
3.5 问题求解:流程图 96
3.6 问题求解:测试用例 99
3.7 布尔变量和运算符 100
3.8 分析字符串 105
3.9 应用案例:输入验证 107
本章小结 120
复习题 121
编程题 127
第4章 循环结构 136
4.1 while语句 136
4.2 问题求解:手工跟踪 142
4.3 应用案例:处理哨兵值 145
4.4 问题求解:故事板 148
4.5 常用循环算法 150
4.5.1 求和和平均数 150
4.5.2 匹配项计数 151
4.5.3 提示输入直到找到匹配项 151
4.5.4 最大值和最小值 151
4.5.5 比较相邻值 152
4.6 for循环 153
4.7 嵌套循环 161
4.8 处理字符串 167
4.8.1 统计匹配项 167
4.8.2 查找所有匹配项 167
4.8.3 找到第一个或者最后一个匹配项 167
4.8.4 验证字符串 168
4.8.5 创建新的字符串 169
4.9 应用案例:随机数和仿真 170
4.9.1 生成随机数 170
4.9.2 模拟掷骰子 171
4.9.3 蒙特卡罗方法 172
4.10 图形应用:数字图像处理 176
4.10.1 过滤图像 176
4.10.2 重新配置图像 179
4.11 问题求解:先易后难 180
本章小结 185
复习题 186
编程题 190
第5章 函数 200
5.1 作为黑盒的函数 200
5.2 实现和测试函数 201
5.2.1 实现函数 201
5.2.2 测试函数 202
5.2.3 包含函数的程序 202
5.3 参数传递 205
5.4 返回值 207
5.5 不带返回值的函数 214
5.6 问题求解:可复用函数 217
5.7 问题求解:逐步求精 218
5.8 变量的作用范围 231
5.9 图形应用:构建图像处理工具包 237
5.9.1 入门 237
5.9.2 比较图像 238
5.9.3 调整图像亮度 238
5.9.4 旋转图像 240
5.9.5 使用工具包 241
5.10 递归函数(可选) 245
本章小结 255
复习题 256
编程题 259
第6章 列表 266
6.1 列表的基本属性 266
6.1.1 创建列表 266
6.1.2 访问列表元素 267
6.1.3 遍历列表 269
6.1.4 列表引用 269
6.2 列表操作 273
6.2.1 附加元素 273
6.2.2 插入元素 273
6.2.3 查找元素 274
6.2.4 删除元素 275
6.2.5 拼接和复制 276
6.2.6 相等性测试 276
6.2.7 求和、最大值、最小值和排序 276
6.2.8 复制列表 277
6.3 常用列表算法 279
6.3.1 填充列表 279
6.3.2 组合列表元素 279
6.3.3 元素分隔符 280
6.3.4 最大值和最小值 280
6.3.5 线性查找 281
6.3.6 收集和统计匹配项 281
6.3.7 删除匹配项 282
6.3.8 交换元素 283
6.3.9 读取输入 284
6.4 将列表与函数一起使用 288
6.5 问题求解:修改算法 295
6.6 问题求解:通过操作实体对象发现算法 300
6.7 表格 304
6.7.1 创建表格 304
6.7.2 访问元素 305
6.7.3 定位相邻元素 305
6.7.4 计算行总计和列总计 306
6.7.5 将表格与函数一起使用 306
本章小结 314
复习题 315
编程题 318
第7章 文件和异常 325
7.1 读取和写入文本文件 325
7.1.1 打开文件 325
7.1.2 读取文件 326
7.1.3 写入文件 327
7.1.4 文件处理示例 327
7.2 文本输入和输出 328
7.2.1 遍历文件中的行 329
7.2.2 读取单词 330
7.2.3 读取字符 332
7.2.4 读取记录 333
7.3 命令行参数 340
7.4 二进制文件和随机访问(可选) 352
7.4.1 读取和写入二进制文件 352
7.4.2 随机访问 353
7.4.3 图像文件 353
7.4.4 处理BMP文件 355
7.5 异常处理 361
7.5.1 引发异常 361
7.5.2 处理异常 362
7.5.3 finally子句 364
7.6 应用案例:处理输入错误 367
本章小结 378
复习题 379
编程题 380
第8章 集合和字典 390
8.1 集合 390
8.1.1 创建和使用集合 390
8.1.2 添加和删除元素 392
8.1.3 子集 393
8.1.4 并集、交集和差集 393
8.2 字典 400
8.2.1 创建字典 401
8.2.2 访问字典的值 401
8.2.3 添加和修改数据项 401
8.2.4 删除数据项 402
8.2.5 遍历字典 403
8.3 复杂的数据结构 409
8.3.1 包含集合的字典 409
8.3.2 包含列表的字典 411
本章小结 420
复习题 421
编程题 423
第9章 对象和类 426
9.1 面向对象的程序设计 426
9.2 实现一个简单的类 427
9.3 指定类的公共接口 430
9.4 设计数据表示 431
9.5 构造函数 432
9.6 实现方法 435
9.7 测试类 438
9.8 问题求解:跟踪对象 445
9.9 问题求解:对象数据的模式 448
9.9.1 使用总计 448
9.9.2 统计事件 449
9.9.3 收集值 449
9.9.4 管理对象的属性 449
9.9.5 使用不同的状态建模对象 450
9.9.6 描述对象的位置 451
9.10 对象引用 451
9.10.1 共享引用 452
9.10.2 None引用 453
9.10.3 self引用 454
9.10.4 对象的生命周期 454
9.11 应用案例:实现一个Fraction类 456
9.11.1 Fraction类的设计 456
9.11.2 构造函数 457
9.11.3 特殊方法 458
9.11.4 算术运算 459
9.11.5 逻辑运算 460
本章小结 467
复习题 468
编程题 469
第10章 继承 475
10.1 继承的层次结构 475
10.2 实现子类 479
10.3 调用超类的构造函数 482
10.4 重写方法 485
10.5 多态 488
10.6 应用案例:几何图形类的层次结构 500
10.6.1 基类 500
10.6.2 基本形状 502
10.6.3 形状组 505
本章小结 514
复习题 514
编程题 515
第11章 递归 520
11.1 三角形数字之再探讨 520
11.2 问题求解:递归思维 523
11.3 递归辅助函数 527
11.4 递归的效率 528
11.5 排列 533
11.6 回溯 536
11.7 相互递归 543
本章小结 550
复习题 550
编程题 551
第12章 排序和查找 556
12.1 选择排序算法 556
12.2 选择排序算法的性能测量 558
12.3 选择排序算法的性能分析 559
12.4 合并排序算法 563
12.5 分析合并排序算法 565
12.6 查找算法 569
12.6.1 线性查找 570
12.6.2 二分查找 571
12.7 问题求解:估计算法的运行时间 573
12.7.1 线性时间 573
12.7.2 二次时间 574
12.7.3 三角形模式 575
12.7.4 对数时间 576
本章小结 581
复习题 581
编程题 584

推荐

车牌查询
桂ICP备20004708号-3