程序设计导论:Python计算与应用开发实践(原书第2版)
¥
44.4
4.5折
¥
99
全新
库存2件
作者[美]卢博米尔·佩尔科维奇(Ljubomir Perkovic)
出版社机械工业出版社
出版时间2018-11
版次1
装帧其他
货号9787111611608
上书时间2024-11-18
商品详情
- 品相描述:全新
图书标准信息
-
作者
[美]卢博米尔·佩尔科维奇(Ljubomir Perkovic)
-
出版社
机械工业出版社
-
出版时间
2018-11
-
版次
1
-
ISBN
9787111611608
-
定价
99.00元
-
装帧
其他
-
开本
16开
-
纸张
胶版纸
- 【内容简介】
-
本书不仅仅是传统的程序设计导论性教材,而且囊括了包罗万象的计算机科学。书中采用Python作为学生的*门程序设计语言,提出“正确的时刻 正确的工具”的教学方法,尤为重视应用程序的开发训练和计算思维的培养,易于教学和实践。书中首先讲解命令式编程,但也很早便引入了对象的概念;在学生具备足够的基础知识也更有学习动力之后,书中开始讲解自定义类、面向对象编程等更多高级技巧。书中涵盖了问题求解的核心技术和各类经典算法,这一版还增加了案例章节,所涉及的广度也有所拓展。
- 【作者简介】
-
卢博米尔·佩尔科维奇(Ljubomir Perkovic) 美国德保罗大学计算与数字媒体学院教授,研究兴趣包括计算机科学教育和计算思维、计算几
- 【目录】
-
出版者的话
译者序
前言
第1章 计算机科学导论 1
1.1 计算机科学 1
1.1.1 计算机专业人员的工作 1
1.1.2 模型、算法和程序 2
1.1.3 必备的工具 3
1.1.4 什么是计算机科学 3
1.2 计算机系统 3
1.2.1 计算机硬件 3
1.2.2 操作系统 4
1.2.3 网络和网络协议 5
1.2.4 程序开发语言 5
1.2.5 软件库 6
1.3 Python程序设计语言 6
1.3.1 Python简史 6
1.3.2 构建Python开发环境 7
1.4 计算思维 7
1.4.1 一个示例问题 8
1.4.2 抽象和建模 8
1.4.3 算法 9
1.4.4 数据类型 9
1.4.5 赋值语句和执行控制结构 10
1.4.6 本章小结 11
第2章 Python数据类型 12
2.1 表达式、变量和赋值语句 12
2.1.1 代数表达式和函数 12
2.1.2 布尔表达式和运算符 14
2.1.3 变量和赋值语句 16
2.1.4 变量名称 18
2.2 字符串 18
2.2.1 字符串运算符 19
2.2.2 索引运算符 21
2.3 列表和元组 22
2.3.1 列表运算符 22
2.3.2 列表是可变类型,字符串是不可变类型 24
2.3.3 元组 24
2.3.4 元组和列表的方法 26
2.4 对象和类 28
2.4.1 对象类型 28
2.4.2 数值类型的有效值 29
2.4.3 数值类型的运算符 30
2.4.4 创建对象 32
2.4.5 隐式类型转换 32
2.4.6 显式类型转换 33
2.4.7 类方法和面向对象的程序设计 34
2.5 Python标准库 35
2.5.1 math模块 35
2.5.2 fractions模块 36
2.6 电子教程案例研究:海龟图形 37
2.7 本章小结 37
2.8 练习题答案 37
2.9 习题 39
第3章 命令式编程 43
3.1 Python程序 43
3.1.1 我们的第一个Python程序 43
3.1.2 Python模块 45
3.1.3 内置函数print() 45
3.1.4 使用input()函数实现交互式输入 46
3.1.5 eval()函数 47
3.2 执行控制结构 47
3.2.1 单分支结构 48
3.2.2 双分支结构 51
3.2.3 循环结构 52
3.2.4 嵌套的控制流结构 55
3.2.5 range()函数 55
3.3 用户自定义函数 57
3.3.1 我们自定义的第一个函数 57
3.3.2 函数输入参数 58
3.3.3 print()与return的比较 59
3.3.4 函数定义实际上是“赋值”语句 60
3.3.5 注释 61
3.3.6 文档字符串 61
3.4 Python变量和赋值语句 63
3.4.1 可变类型和不可变类型 63
3.4.2 赋值语句和可变性 65
3.4.3 交换 66
3.5 参数传递 67
3.5.1 不可变类型参数传递 67
3.5.2 可变类型参数传递 69
3.6 电子教程案例研究:自动化海龟图形 70
3.7 本章小结 70
3.8 练习题答案 70
3.9 习题 73
3.10 思考题 74
第4章 文本数据、文件和异常 77
4.1 深入研究字符串 77
4.1.1 字符串表示 77
4.1.2 深入研究索引运算符 79
4.1.3 字符串方法 80
4.2 格式化输出 83
4.2.1 函数print() 83
4.2.2 字符串方法format() 84
4.2.3 按列对齐排列数据 86
4.2.4 获取与格式化日期和时间 89
4.3 文件 91
4.3.1 文件系统 91
4.3.2 打开和关闭文件 92
4.3.3 读取文本文件的模式 96
4.3.4 写入文本文件 98
4.4 错误和异常 99
4.4.1 语法错误 100
4.4.2 内置异常 100
4.5 电子教程案例研究:图像文件 102
4.6 本章小结 102
4.7 练习题答案 103
4.8 习题 104
4.9 思考题 106
第5章 执行控制结构 108
5.1 选择控制和if语句 108
5.1.1 三路以及多路分支 108
5.1.2 条件的排列顺序 110
5.2 for循环和迭代模式 111
5.2.1 循环模式:迭代循环 111
5.2.2 循环模式:计数器循环 112
5.2.3 循环模式:累加器循环 114
5.2.4 其他类型的累加 115
5.2.5 循环模式:嵌套循环 117
5.3 深入研究列表:二维列表 119
5.3.1 二维列表 119
5.3.2 二维列表和嵌套循环模式 120
5.4 while循环 122
5.5 更多循环模式 124
5.5.1 循环模式:序列循环 124
5.5.2 循环模式:无限循环 125
5.5.3 循环模式:循环和折半 126
5.6 其他迭代控制语句 127
5.6.1 break语句 127
5.6.2 continue语句 128
5.6.3 pass语句 129
5.7 电子教程案例研究:图像处理 129
5.8 本章小结 130
5.9 练习题答案 130
5.10 习题 133
5.11 思考题 134
第6章 容器和随机性 140
6.1 字典 140
6.1.1 用户自定义索引作为字典的动机 140
6.1.2 字典类属性 141
6.1.3 字典运算符 143
6.1.4 字典方法 144
6.1.5 字典作为多路分支if语句的替代方法 146
6.1.6 字典作为计数器集合 147
6.1.7 元组对象可以作为字典的键 149
6.2 集合 150
6.2.1 使用set构造函数移除重复项 151
6.2.2 set运算符 152
6.2.3 set方法 153
6.3 字符编码和字符串 154
6.3.1 字符编码 154
6.3.2 ASCII 154
6.3.3 Unicode 156
6.3.4 Unicode字符的UTF-8编码 158
6.4 random模块 158
6.4.1 选择一个随机整数 159
6.4.2 选择一个随机“实数” 160
6.4.3 随机混排、挑选和抽样 161
6.5 电子教程案例研究:机会游戏 161
6.6 本章小结 162
6.7 练习题答案 162
6.8 习题 165
6.9 思考题 166
第7章 名称空间 171
7.1 函数封装 171
7.1.1 代码重用 172
7.1.2 模块化 172
7.1.3 封装 172
7.1.4 局部变量 172
7.1.5 与函数调用相关的名称空间 173
7.1.6 名称空间与程序栈 174
7.2 全局名称空间和局部名称空间 177
7.2.1 全局变量 178
7.2.2 局部作用范围的变量 178
7.2.3 全局作用范围的变量 179
7.2.4 在函数中改变全局变量 180
7.3 异常控制流 181
7.3.1 异常和异常控制流 182
7.3.2 捕获和处理异常 183
7.3.3 默认异常处理程序 184
7.3.4 捕获给定类型的异常 184
7.3.5 多重异常处理程序 185
7.3.6 控制异常流 186
7.4 模块作为名称空间 189
7.4.1 模块属性 189
7.4.2 导入模块时发生了什么 190
7.4.3 模块搜索路径 190
7.4.4 顶层模块 192
7.4.5 导入模块属性的不同方法 193
7.5 类作为名称空间 195
7.5.1 一个类是一个名称空间 195
7.5.2 类方法是在类名称空间中定义的函数 196
7.6 电子教程案例研究:使用调试器进行调试 197
7.7 本章小结 197
7.8 练习题答案 197
7.9 习题 199
7.10 思考题 200
第8章 面向对象的程序设计 202
8.1 定义新的Python类 202
8.1.1 类Point的方法 202
8.1.2 类和名称空间 203
8.1.3 每个对象都有一个关联的名称空间 204
8.1.4 类Point的实现 204
8.1.5 实例变量 206
8.1.6 实例继承类属性 206
8.1.7 类定义的一般格式 207
8.1.8 编写类的文档 208
8.1.9 类Animal 208
8.2 用户自定义类示例 210
8.2.1 构造函数重载 210
8.2.2 默认构造函数 211
8.2.3 扑克牌类 212
8.3 设计新的容器类 213
8.3.1 设计一个表示一副扑克牌的类 213
8.3.2 实现Deck类 214
8.3.3 容器类Queue 215
8.3.4 实现Queue类 216
8.4 运算符重载 217
8.4.1 运算符是类方法 218
8.4.2 使Point类对用户友好 220
8.4.3 构造函数和repr()运算符之间的约定 221
8.4.4 使Queue类对用户友好 223
8.5 继承 225
8.5.1 继承类的属性 225
8.5.2 类定义的一般格式 227
8.5.3 重写父类方法 227
8.5.4 扩展父类方法 229
8.5.5 通过继承list实现一个Queue类 231
8.6 用户自定义异常 232
8.6.1 抛出一个异常 232
8.6.2 用户自定义异常类 233
8.6.3 改进类Queue的封装 234
8.7 电子教程案例研究:索引和迭代器 234
8.8 本章小结 235
8.9 练习题答案 235
8.10 习题 237
8.11 思考题 239
第9章 图形用户界面 246
9.1 tkinter图形用户界面开发基本知识 246
9.1.1 组件Tk:GUI窗口 246
9.1.2 组件Label:显示文本 247
9.1.3 显示图像 248
9.1.4 布局组件 249
9.1.5 将组件布局为表格 251
9.2 基于事件的tkinter组件 253
9.2.1 Button组件及事件处理程序 253
9.2.2 事件、事件处理程序和mainloop() 255
9.2.3 Entry组件 256
9.2.4 Text组件和绑定事件 258
9.2.5 事件模式和tkinter类Event 259
9.3 设计图形用户界面 261
9.3.1 组件Canvas 261
9.3.2 作为组织容器的组件Frame 264
9.4 面向对象的图形用户界面 265
9.4.1 GUI面向对象程序设计基本知识 266
9.4.2 把共享组件赋值给实例变量 268
9.4.3 把共享数据赋值给实例变量 269
9.5 电子教程案例研究:开发一个计算器 271
9.6 本章小结 271
9.7 练习题答案 271
9.8 习题 275
9.9 思考题 275
第10章 递归 278
10.1 递归简介 278
10.1.1 调用自身的函数 278
10.1.2 停止条件 279
10.1.3 递归函数的特性 280
10.1.4 递归思想 281
10.1.5 递归函数调用和程序栈 282
10.2 递归示例 284
10.2.1 递归数列模式 284
10.2.2 分形图形 286
10.2.3 病毒扫描 289
10.2.4 线性递归 292
10.3 运行时间分析 294
10.3.1 指数函数 294
10.3.2 运算次数 295
10.3.3 斐波那契数列 296
10.3.4 运行时间的实验分析 298
10.4 查找 300
10.4.1 线性查找 300
10.4.2 二分查找 301
10.4.3 线性查找和二分查找比较 303
10.4.4 唯一性测试 304
10.4.5 选择第k个最大(或最小)项 305
10.4.6 计算出现频率最多的项 305
10.5 电子教程案例研究:汉诺塔 306
10.6 本章小结 306
10.7 练习题答案 306
10.8 习题 308
10.9 思考题 309
第11章 Web和搜索 315
11.1 万维网 315
11.1.1 Web服务器和Web客户端 315
11.1.2 WWW的“管道” 316
11.1.3 命名方案:统一资源定位器 316
11.1.4 协议:超文本传输协议 317
11.1.5 超文本标记语言 318
11.1.6 HTML元素 318
11.1.7 HTML文档的树结构 320
11.1.8 锚点HTML元素和绝对链接 320
11.1.9 相对链接 321
11.2 Python WWW API 321
11.2.1 模块urllib.request 322
11.2.2 模块html.parser 324
11.2.3 重载HTMLParser处理程序 325
11.2.4 模块urllib.parse 327
11.2.5 收集HTTP超链接的解析器 327
11.3 字符串模式匹配 329
11.3.1 正则表达式 329
11.3.2 Python标准库模块re 332
11.4 电子教程案例研究:Web爬虫 333
11.5 本章小结 333
11.6 练习题答案 334
11.7 习题 335
11.8 思考题 336
第12章 数据库和数据处理 339
12.1 数据库和SQL 339
12.1.1 数据库表 339
12.1.2 结构化查询语言 341
12.1.3 SELECT语句 341
12.1.4 WHERE子句 343
12.1.5 内置SQL函数 345
12.1.6 GROUP BY子句 345
12.1.7 多表SQL查询 346
12.1.8 CREATE TABLE语句 347
12.1.9 INSERT和UPDATE语句 348
12.2 Python中的数据库编程 349
12.2.1 数据库引擎和SQLite 349
12.2.2 使用sqlite3创建一个数据库 349
12.2.3 提交数据库更改和关闭数据库 351
12.2.4 使用sqlite3查询数据库 351
12.3 函数语言方法 353
12.3.1 列表解析 354
12.3.2 MapReduce问题求解框架 355
12.3.3 MapReduce的抽象概念 358
12.3.4 倒排索引 359
12.4 并行计算 361
12.4.1 并行计算简介 362
12.4.2 multiprocessing模块中的Pool类 362
12.4.3 并行加速比 364
12.4.4 并行MapReduce 366
12.4.5 并行和顺序MapReduce 366
12.5 电子教程案例研究:数据交换 369
12.6 本章小结 369
12.7 练习题答案 369
12.8 习题 372
12.9 思考题 373
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价