像计算机科学家一样思考Python 第2版

像计算机科学家一样思考Python 第2版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Allen B.Downey) ,
2016-08
版次: 2
ISBN: 9787115425515
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 226页
字数: 315千字
正文语种: 简体中文
327人买过
  • 本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程。贯穿全书的主体是如何思考、设计、开发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介。
    全书共21章,详细介绍Python语言编程的方方面面。本书从基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰的定义,引领读者循序渐进地学习变量、表达式、语句、函数和数据结构。书中还探讨了如何处理文件和数据库,如何理解对象、方法和面向对象编程,如何使用调试技巧来修正语法错误、运行时错误和语义错误。每一章都配有术语表和练习题,方便读者巩固所学的知识和技巧。此外,每一章都抽出一节来讲解如何调试程序。作者针对每章所专注的语言特性,或者相关的开发问题,总结了调试的方方面面。
    本书的第2版与第1版相比,做了很多更新,将编程语言从Python 2升级成Python 3,并修改了很多示例和练习,增加了新的章节,更全面地介绍Python语言。
    这是一本实用的学习指南,适合没有Python编程经验的程序员阅读,也适合高中或大学的学生、Python爱好者及需要了解编程基础的人阅读。对于首次接触程序设计的人来说,是一本不可多得的佳作。 AllenDowney是欧林工程学院的计算机科学教授,曾任教于韦尔斯利学院、科尔比学院和加州大学伯克利分校。他是加州大学伯克利分校的计算机科学博士,并拥有MIT的硕士和学士学位。

    译者介绍
    赵普明毕业清华大学计算机系,从事软件开发行业近10年。从2.3版本开始接触Python,工作中使用Python编写脚本程序,用于快速原型构建以及日志计算等日常作业;业余时,作为一个编程语言爱好者,对D、Kotlin、Lua、Clojure、Scala、Julia、Go等语言均有了解,但至今仍为Python独特的风格、简洁的设计而惊叹。

    第1章 程序之道 1
    1.1 什么是程序 1
    1.2 运行Python 2
    1.3 第一个程序 3
    1.4 算术操作符 3
    1.5 值和类型 4
    1.6 形式语言和自然语言 5
    1.7 调试 6
    1.8 术语表 7
    1.9 练习 8
    第2章 变量、表达式和语句 9
    2.1 赋值语句 9
    2.2 变量名称 9
    2.3 表达式和语句 10
    2.4 脚本模式 11
    2.5 操作顺序 12
    2.6 字符串操作 13
    2.7 注释 13
    2.8 调试 14
    2.9 术语表 15
    2.10 练习 16
    第3章 函数 17
    3.1 函数调用 17
    3.2 数学函数 18
    3.3 组合 19
    3.4 添加新函数 19
    3.5 定义和使用 21
    3.6 执行流程 21
    3.7 形参和实参 22
    3.8 变量和形参是局部的 23
    3.9 栈图 23
    3.10 有返回值函数和无返回值函数 24
    3.11 为什么要有函数 25
    3.12 调试 26
    3.13 术语表 26
    3.14 练习 27
    第4章 案例研究:接口设计 30
    4.1 turtle模块 30
    4.2 简单重复 31
    4.3 练习 32
    4.4 封装 33
    4.5 泛化 34
    4.6 接口设计 34
    4.7 重构 35
    4.8 一个开发计划 36
    4.9 文档字符串 37
    4.10 调试 38
    4.11 术语表 38
    4.12 练习 39
    第5章 条件和递归 41
    5.1 向下取整除法操作符和求模操作符 41
    5.2 布尔表达式 42
    5.3 逻辑操作符 42
    5.4 条件执行 43
    5.5 选择执行 43
    5.6 条件链 44
    5.7 嵌套条件 44
    5.8 递归 45
    5.9 递归函数的栈图 46
    5.10 无限递归 47
    5.11 键盘输入 47
    5.12 调试 48
    5.13 术语表 49
    5.14 练习 50
    第6章 有返回值的函数 53
    6.1 返回值 53
    6.2 增量开发 54
    6.3 组合 56
    6.4 布尔函数 57
    6.5 再谈递归 58
    6.6 坚持信念 59
    6.7 另一个示例 60
    6.8 检查类型 60
    6.9 调试 61
    6.10 术语表 63
    6.11 练习 63
    第7章 迭代 65
    7.1 重新赋值 65
    7.2 更新变量 66
    7.3 while语句 66
    7.4 break语句 68
    7.5 平方根 68
    7.6 算法 70
    7.7 调试 70
    7.8 术语表 71
    7.9 练习 71
    第8章 字符串 73
    8.1 字符串是一个序列 73
    8.2 len 74
    8.3 使用for循环进行遍历 74
    8.4 字符串切片 75
    8.5 字符串是不可变的 76
    8.6 搜索 77
    8.7 循环和计数 77
    8.8 字符串方法 78
    8.9 操作符in 79
    8.10 字符串比较 79
    8.11 调试 80
    8.12 术语表 82
    8.13 练习 82
    第9章 案例分析:文字游戏 85
    9.1 读取单词列表 85
    9.2 练习 86
    9.3 搜索 87
    9.4 使用下标循环 88
    9.5 调试 90
    9.6 术语表 90
    9.7 练习 91
    第10章 列表 93
    10.1 列表是一个序列 93
    10.2 列表是可变的 94
    10.3 遍历一个列表 95
    10.4 列表操作 95
    10.5 列表切片 96
    10.6 列表方法 96
    10.7 映射、过滤和化简 97
    10.8 删除元素 98
    10.9 列表和字符串 99
    10.10 对象和值 100
    10.11 别名 101
    10.12 列表参数 102
    10.13 调试 103
    10.14 术语表 104
    10.15 练习 105
    第11章 字典 108
    11.1 字典是一种映射 108
    11.2 使用字典作为计数器集合 110
    11.3 循环和字典 111
    11.4 反向查找 111
    11.5 字典和列表 112
    11.6 备忘 114
    11.7 全局变量 115
    11.8 调试 117
    11.9 术语表 118
    11.10 练习 119
    第12章 元组 121
    12.1 元组是不可变的 121
    12.2 元组赋值 122
    12.3 作为返回值的元组 123
    12.4 可变长参数元组 124
    12.5 列表和元组 124
    12.6 字典和元组 126
    12.7 序列的序列 127
    12.8 调试 128
    12.9 术语表 129
    12.10 练习 129
    第13章 案例研究:选择数据结构 132
    13.1 单词频率分析 132
    13.2 随机数 133
    13.3 单词直方图 134
    13.4 最常用的单词 135
    13.5 可选形参 136
    13.6 字典减法 137
    13.7 随机单词 138
    13.8 马尔可夫分析 138
    13.9 数据结构 140
    13.10 调试 141
    13.11 术语表 142
    13.12 练习 143
    第14章 文件 144
    14.1 持久化 144
    14.2 读和写 144
    14.3 格式操作符 145
    14.4 文件名和路径 146
    14.5 捕获异常 147
    14.6 数据库 148
    14.7 封存 149
    14.8 管道 150
    14.9 编写模块 151
    14.10 调试 152
    14.11 术语表 152
    14.12 练习 153
    第15章 类和对象 155
    15.1 用户定义类型 155
    15.2 属性 156
    15.3 矩形 157
    15.4 作为返回值的实例 158
    15.5 对象是可变的 159
    15.6 复制 159
    15.7 调试 161
    15.8 术语表 161
    15.9 练习 162
    第16章 类和函数 163
    16.1 时间 163
    16.2 纯函数 164
    16.3 修改器 165
    16.4 原型和计划 166
    16.5 调试 167
    16.6 术语表 168
    16.7 练习 168
    第17章 类和方法 170
    17.1 面向对象特性 170
    17.2 打印对象 171
    17.3 另一个示例 172
    17.4 一个更复杂的示例 173
    17.5 init方法 173
    17.6 __str__方法 174
    17.7 操作符重载 175
    17.8 基于类型的分发 175
    17.9 多态 177
    17.10 接口和实现 177
    17.11 调试 178
    17.12 术语表 179
    17.13 练习 179
    第18章 继承 181
    18.1 卡片对象 181
    18.2 类属性 182
    18.3 对比卡牌 183
    18.4 牌组 184
    18.5 打印牌组 185
    18.6 添加、删除、洗牌和排序 185
    18.7 继承 186
    18.8 类图 188
    18.9 数据封装 189
    18.10 调试 190
    18.11 术语表 191
    18.12 练习 191
    第19章 Python拾珍 194
    19.1 条件表达式 194
    19.2 列表理解 195
    19.3 生成器表达式 196
    19.4 any和all 197
    19.5 集合 197
    19.6 计数器 199
    19.7 defaultdict 200
    19.8 命名元组 201
    19.9 收集关键词参数 202
    19.10 术语表 203
    19.11 练习 203
    第20章 调试 205
    20.1 语法错误 205
    20.2 运行时错误 207
    20.2.1 我的程序什么都不做 207
    20.2.2 我的程序卡死了 207
    20.2.3 无限循环 208
    20.2.4 无限递归 208
    20.2.5 执行流程 208
    20.2.6 当我运行程序,会得到一个异常 209
    20.2.7 我添加了太多print语句,被输出淹没了 210
    20.3 语义错误 210
    20.3.1 我的程序运行不正确 211
    20.3.2 我有一个巨大而复杂的表达式,而它和我预料的不同 211
    20.3.3 我有一个函数,返回值和预期不同 212
    20.3.4 我真的真的卡住了,我需要帮助 212
    20.3.5 不行,我真的需要帮助 212
    第21章 算法分析 214
    21.1 增长量级 215
    21.2 Python基本操作的分析 217
    21.3 搜索算法的分析 218
    21.4 散列表 219
    21.5 术语表 223
    译后记 224
  • 内容简介:
    本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程。贯穿全书的主体是如何思考、设计、开发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介。
    全书共21章,详细介绍Python语言编程的方方面面。本书从基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰的定义,引领读者循序渐进地学习变量、表达式、语句、函数和数据结构。书中还探讨了如何处理文件和数据库,如何理解对象、方法和面向对象编程,如何使用调试技巧来修正语法错误、运行时错误和语义错误。每一章都配有术语表和练习题,方便读者巩固所学的知识和技巧。此外,每一章都抽出一节来讲解如何调试程序。作者针对每章所专注的语言特性,或者相关的开发问题,总结了调试的方方面面。
    本书的第2版与第1版相比,做了很多更新,将编程语言从Python 2升级成Python 3,并修改了很多示例和练习,增加了新的章节,更全面地介绍Python语言。
    这是一本实用的学习指南,适合没有Python编程经验的程序员阅读,也适合高中或大学的学生、Python爱好者及需要了解编程基础的人阅读。对于首次接触程序设计的人来说,是一本不可多得的佳作。
  • 作者简介:
    AllenDowney是欧林工程学院的计算机科学教授,曾任教于韦尔斯利学院、科尔比学院和加州大学伯克利分校。他是加州大学伯克利分校的计算机科学博士,并拥有MIT的硕士和学士学位。

    译者介绍
    赵普明毕业清华大学计算机系,从事软件开发行业近10年。从2.3版本开始接触Python,工作中使用Python编写脚本程序,用于快速原型构建以及日志计算等日常作业;业余时,作为一个编程语言爱好者,对D、Kotlin、Lua、Clojure、Scala、Julia、Go等语言均有了解,但至今仍为Python独特的风格、简洁的设计而惊叹。
  • 目录:


    第1章 程序之道 1
    1.1 什么是程序 1
    1.2 运行Python 2
    1.3 第一个程序 3
    1.4 算术操作符 3
    1.5 值和类型 4
    1.6 形式语言和自然语言 5
    1.7 调试 6
    1.8 术语表 7
    1.9 练习 8
    第2章 变量、表达式和语句 9
    2.1 赋值语句 9
    2.2 变量名称 9
    2.3 表达式和语句 10
    2.4 脚本模式 11
    2.5 操作顺序 12
    2.6 字符串操作 13
    2.7 注释 13
    2.8 调试 14
    2.9 术语表 15
    2.10 练习 16
    第3章 函数 17
    3.1 函数调用 17
    3.2 数学函数 18
    3.3 组合 19
    3.4 添加新函数 19
    3.5 定义和使用 21
    3.6 执行流程 21
    3.7 形参和实参 22
    3.8 变量和形参是局部的 23
    3.9 栈图 23
    3.10 有返回值函数和无返回值函数 24
    3.11 为什么要有函数 25
    3.12 调试 26
    3.13 术语表 26
    3.14 练习 27
    第4章 案例研究:接口设计 30
    4.1 turtle模块 30
    4.2 简单重复 31
    4.3 练习 32
    4.4 封装 33
    4.5 泛化 34
    4.6 接口设计 34
    4.7 重构 35
    4.8 一个开发计划 36
    4.9 文档字符串 37
    4.10 调试 38
    4.11 术语表 38
    4.12 练习 39
    第5章 条件和递归 41
    5.1 向下取整除法操作符和求模操作符 41
    5.2 布尔表达式 42
    5.3 逻辑操作符 42
    5.4 条件执行 43
    5.5 选择执行 43
    5.6 条件链 44
    5.7 嵌套条件 44
    5.8 递归 45
    5.9 递归函数的栈图 46
    5.10 无限递归 47
    5.11 键盘输入 47
    5.12 调试 48
    5.13 术语表 49
    5.14 练习 50
    第6章 有返回值的函数 53
    6.1 返回值 53
    6.2 增量开发 54
    6.3 组合 56
    6.4 布尔函数 57
    6.5 再谈递归 58
    6.6 坚持信念 59
    6.7 另一个示例 60
    6.8 检查类型 60
    6.9 调试 61
    6.10 术语表 63
    6.11 练习 63
    第7章 迭代 65
    7.1 重新赋值 65
    7.2 更新变量 66
    7.3 while语句 66
    7.4 break语句 68
    7.5 平方根 68
    7.6 算法 70
    7.7 调试 70
    7.8 术语表 71
    7.9 练习 71
    第8章 字符串 73
    8.1 字符串是一个序列 73
    8.2 len 74
    8.3 使用for循环进行遍历 74
    8.4 字符串切片 75
    8.5 字符串是不可变的 76
    8.6 搜索 77
    8.7 循环和计数 77
    8.8 字符串方法 78
    8.9 操作符in 79
    8.10 字符串比较 79
    8.11 调试 80
    8.12 术语表 82
    8.13 练习 82
    第9章 案例分析:文字游戏 85
    9.1 读取单词列表 85
    9.2 练习 86
    9.3 搜索 87
    9.4 使用下标循环 88
    9.5 调试 90
    9.6 术语表 90
    9.7 练习 91
    第10章 列表 93
    10.1 列表是一个序列 93
    10.2 列表是可变的 94
    10.3 遍历一个列表 95
    10.4 列表操作 95
    10.5 列表切片 96
    10.6 列表方法 96
    10.7 映射、过滤和化简 97
    10.8 删除元素 98
    10.9 列表和字符串 99
    10.10 对象和值 100
    10.11 别名 101
    10.12 列表参数 102
    10.13 调试 103
    10.14 术语表 104
    10.15 练习 105
    第11章 字典 108
    11.1 字典是一种映射 108
    11.2 使用字典作为计数器集合 110
    11.3 循环和字典 111
    11.4 反向查找 111
    11.5 字典和列表 112
    11.6 备忘 114
    11.7 全局变量 115
    11.8 调试 117
    11.9 术语表 118
    11.10 练习 119
    第12章 元组 121
    12.1 元组是不可变的 121
    12.2 元组赋值 122
    12.3 作为返回值的元组 123
    12.4 可变长参数元组 124
    12.5 列表和元组 124
    12.6 字典和元组 126
    12.7 序列的序列 127
    12.8 调试 128
    12.9 术语表 129
    12.10 练习 129
    第13章 案例研究:选择数据结构 132
    13.1 单词频率分析 132
    13.2 随机数 133
    13.3 单词直方图 134
    13.4 最常用的单词 135
    13.5 可选形参 136
    13.6 字典减法 137
    13.7 随机单词 138
    13.8 马尔可夫分析 138
    13.9 数据结构 140
    13.10 调试 141
    13.11 术语表 142
    13.12 练习 143
    第14章 文件 144
    14.1 持久化 144
    14.2 读和写 144
    14.3 格式操作符 145
    14.4 文件名和路径 146
    14.5 捕获异常 147
    14.6 数据库 148
    14.7 封存 149
    14.8 管道 150
    14.9 编写模块 151
    14.10 调试 152
    14.11 术语表 152
    14.12 练习 153
    第15章 类和对象 155
    15.1 用户定义类型 155
    15.2 属性 156
    15.3 矩形 157
    15.4 作为返回值的实例 158
    15.5 对象是可变的 159
    15.6 复制 159
    15.7 调试 161
    15.8 术语表 161
    15.9 练习 162
    第16章 类和函数 163
    16.1 时间 163
    16.2 纯函数 164
    16.3 修改器 165
    16.4 原型和计划 166
    16.5 调试 167
    16.6 术语表 168
    16.7 练习 168
    第17章 类和方法 170
    17.1 面向对象特性 170
    17.2 打印对象 171
    17.3 另一个示例 172
    17.4 一个更复杂的示例 173
    17.5 init方法 173
    17.6 __str__方法 174
    17.7 操作符重载 175
    17.8 基于类型的分发 175
    17.9 多态 177
    17.10 接口和实现 177
    17.11 调试 178
    17.12 术语表 179
    17.13 练习 179
    第18章 继承 181
    18.1 卡片对象 181
    18.2 类属性 182
    18.3 对比卡牌 183
    18.4 牌组 184
    18.5 打印牌组 185
    18.6 添加、删除、洗牌和排序 185
    18.7 继承 186
    18.8 类图 188
    18.9 数据封装 189
    18.10 调试 190
    18.11 术语表 191
    18.12 练习 191
    第19章 Python拾珍 194
    19.1 条件表达式 194
    19.2 列表理解 195
    19.3 生成器表达式 196
    19.4 any和all 197
    19.5 集合 197
    19.6 计数器 199
    19.7 defaultdict 200
    19.8 命名元组 201
    19.9 收集关键词参数 202
    19.10 术语表 203
    19.11 练习 203
    第20章 调试 205
    20.1 语法错误 205
    20.2 运行时错误 207
    20.2.1 我的程序什么都不做 207
    20.2.2 我的程序卡死了 207
    20.2.3 无限循环 208
    20.2.4 无限递归 208
    20.2.5 执行流程 208
    20.2.6 当我运行程序,会得到一个异常 209
    20.2.7 我添加了太多print语句,被输出淹没了 210
    20.3 语义错误 210
    20.3.1 我的程序运行不正确 211
    20.3.2 我有一个巨大而复杂的表达式,而它和我预料的不同 211
    20.3.3 我有一个函数,返回值和预期不同 212
    20.3.4 我真的真的卡住了,我需要帮助 212
    20.3.5 不行,我真的需要帮助 212
    第21章 算法分析 214
    21.1 增长量级 215
    21.2 Python基本操作的分析 217
    21.3 搜索算法的分析 218
    21.4 散列表 219
    21.5 术语表 223
    译后记 224
查看详情
相关图书 / 更多
像计算机科学家一样思考Python 第2版
像计算机科学家一样思考Java
[美]Allen B.Downey 著;滕云、周哲武 译
像计算机科学家一样思考Python 第2版
像计算机科学家一样思考Java(第二版)
[美]艾伦;[美]克里斯·梅菲尔德
像计算机科学家一样思考Python 第2版
像计算机科学家一样思考Python
[美]Allen B.Downey 著;赵普明 译
您可能感兴趣 / 更多
像计算机科学家一样思考Python 第2版
宇宙视觉史:从宇宙大爆炸到时间的尽头
[美]查尔斯·刘 著;高爽 译者;[美]马克西姆· 马洛维奇科 绘;未读 出品
像计算机科学家一样思考Python 第2版
写出我心 普通人如何通过写作表达自己(平装本)
[美]娜塔莉·戈德堡(Natalie Goldberg)
像计算机科学家一样思考Python 第2版
写出我心3 写作疗愈的真正秘密
[美]娜塔莉·戈德堡(Natalie Goldberg)
像计算机科学家一样思考Python 第2版
神套路:为什么我们总被带节奏(狂热与网红时代醍醐灌顶之作,教给普通人安身立命的不二法门!)
[美]阿里·阿莫萨维 著;[哥伦比亚]亚历杭德罗·希拉尔多 绘
像计算机科学家一样思考Python 第2版
阿伦森自传
[美]埃利奥特·阿伦森(Elliot Aronson) 著;沈捷 译;湛庐文化 出品
像计算机科学家一样思考Python 第2版
街头官僚:公共服务中的个人困境
[美]迈克尔·李普斯基(Michael Lipsky)
像计算机科学家一样思考Python 第2版
史前至蒙古帝国时期的内欧亚大陆史
[美]大卫·克里斯蒂安 著;潘玲 译;杨建华 校
像计算机科学家一样思考Python 第2版
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
像计算机科学家一样思考Python 第2版
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
像计算机科学家一样思考Python 第2版
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
像计算机科学家一样思考Python 第2版
自律我也能做到(全9册)
[美]康妮·科维尔·米勒 著;[阿根廷]维多利亚·阿萨纳利 绘
像计算机科学家一样思考Python 第2版
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘