基本信息
名称: 像计算机科学家一样思考Python
作者信息: 作者: 唐尼 (Allen B.Downey) [ 英文 pdf ]
简单介绍
以“像计算机科学家一样思考”的方式,学习和掌握Python语言!如果你想学习如何编程,使用Python语言是一个极佳的开始。这本实践指南会带你一步一个脚印地学习Python语言,从最基本的编程概念,到函数、递归、数据结构和面向对象设计。计算机科学家自有一套解决问题的方法,而且这种方法是独特的、通用的和强大的。将引领你去感知这样的方法,按照“像计算机科学家一样思考”的方式,学习和掌握Python语言。从基础开始,包括语言的语法和语义。每个编程概念都有清晰的定义。进度合理地学习值、变量、语句、函数和数据结构。了解如何处理文件和数据库。理解对象、方法和面向对象编程。使用调试技巧来修正语法错误、运行时错误和语义错误。通过案例分析来探索接口设计、数据结构和基于GUI的程序。
目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
| 第1章 程序之道 1 1.1 Python编程语言 1 1.2 什么是程序 3 1.3 什么是调试 3 1.4 语法错误 3 1.5 运行时错误 4 1.6 语义错误 4 1.7 实验型调试 4 1.8 形式语言和自然语言 5 1.9 第一个程序 6 1.10 调试 7 1.11 术语表 7 1.12 练习 9 第2章 变量、表达式和语句 10 2.1 值和类型 10 2.2 变量 11 2.3 变量名称和关键字 12 2.4 操作符和操作对象 13 2.5 表达式和语句 13 2.6 交互模式和脚本模式 14 2.7 操作顺序 15 2.8 字符串操作 15 2.9 注释 16 2.10 调试 16 2.11 术语表 17 2.12 练习 18 第3章 函数 19 3.1 函数调用 19 3.2 类型转换函数 19 3.3 数学函数 20 3.4 组合 21 3.5 添加新函数 21 3.6 定义和使用 23 3.7 执行流程 23 3.8 形参和实参 24 3.9 变量和形参是局部的 25 3.10 栈图 25 3.11 有返回值函数和无返回值函数 26 3.12 为什么要有函数 27 3.13 使用from导入模块 28 3.14 调试 28 3.15 术语表 29 3.16 练习 30 第4章 案例研究:接口设计 32 4.1 乌龟世界 32 4.2 简单重复 33 4.3 练习 34 4.4 封装 35 4.5 泛化 36 4.6 接口设计 36 4.7 重构 37 4.8 一个开发计划 38 4.9 文档字符串 39 4.10 调试 39 4.11 术语表 40 4.12 练习 40 第5章 条件和递归 43 5.1 求模操作符 43 5.2 布尔表达式 43 5.3 逻辑操作符 44 5.4 条件执行 44 5.5 选择执行 45 5.6 条件链 45 5.7 嵌套条件 46 5.8 递归 46 5.9 递归函数的栈图 48 5.10 无限递归 48 5.11 键盘输入 49 5.12 调试 50 5.13 术语表 51 5.14 练习 52 第6章 有返回函数 54 6.1 返回值 54 6.2 增量开发 55 6.3 组合 57 6.4 布尔函数 58 6.5 再谈递归 59 6.6 坚持信念 60 6.7 另一个示例 61 6.8 检查类型 61 6.9 调试 63 6.10 术语表 64 6.11 练习 64 第7章 迭代 67 7.1 多重赋值 67 7.2 更新变量 68 7.3 while语句 68 7.4 break语句 70 7.5 平方根 70 7.6 算法 72 7.7 调试 72 7.8 术语表 73 7.9 练习 73 第8章 字符串 75 8.1 字符串是一个序列 75 8.2 len 76 8.3 使用for循环进行遍历 76 8.4 字符串切片 77 8.5 字符串是不可变的 78 8.6 搜索 79 8.7 循环和计数 79 8.8 字符串方法 80 8.9 操作符in 81 8.10 字符串比较 81 8.11 调试 82 8.12 术语表 84 8.13 练习 84 第9章 案例分析:文字游戏 86 9.1 读取单词列表 86 9.2 练习 87 9.3 搜索 88 9.4 使用下标循环 89 9.5 调试 91 9.6 术语表 91 9.7 练习 91 第10章 列表 93 10.1 列表是一个序列 93 10.2 列表是可变的 93 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 术语表 105 10.15 练习 105 第11章 字典 108 11.1 使用字典作为计数器集合 110 11.2 循环和字典 111 11.3 反向查找 111 11.4 字典和列表 113 11.5 备忘 114 11.6 全局变量 116 11.7 长整数 117 11.8 调试 118 11.9 术语表 118 11.10 练习 119 第12章 元组 121 12.1 元组是不可变的 121 12.2 元组赋值 122 12.3 作为返回值的元组 123 12.4 可变长参数元组 123 12.5 列表和元组 124 12.6 字典和元组 125 12.7 比较元组 127 12.8 序列的序列 128 12.9 调试 128 12.10 术语表 129 12.11 练习 130 第13章 案例研究:选择数据结构 132 13.1 单词频率分析 132 13.2 随机数 133 13.3 单词直方图 134 13.4 最常用的单词 135 13.5 可选形参 136 13.6 字典减法 136 13.7 随机单词 137 13.8 马尔可夫分析 138 13.9 数据结构 139 13.10 调试 141 13.11 术语表 142 13.12 练习 142 第14章 文件 143 14.1 持久化 143 14.2 读和写 143 14.3 格式操作符 144 14.4 文件名和路径 145 14.5 捕获异常 146 14.6 数据库 147 14.7 封存 148 14.8 管道 149 14.9 编写模块 150 14.10 调试 151 14.11 术语表 152 14.12 练习 153 第15章 类和对象 154 15.1 用户定义类型 154 15.2 属性 155 15.3 矩形 156 15.4 作为返回值的实例 157 15.5 对象是可变的 158 15.6 复制 158 15.7 调试 160 15.8 术语表 160 15.9 练习 161 第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 操作符重载 174 17.8 基于类型的分发 175 17.9 多态 176 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 添加、删除、洗牌和排序 186 18.7 继承 186 18.8 类图 188 18.9 调试 189 18.10 数据封装 190 18.11 术语表 191 18.12 练习 192 第19章 案例研究:Tkinter 195 19.1 GUI 195 19.2 按钮和回调 196 19.3 画布部件 197 19.4 坐标序列 198 19.5 更多部件 198 19.6 包装部件 200 19.7 菜单与Callable 202 19.8 绑定 203 19.9 调试 205 19.10 术语表 206 19.11 练习 206 附录A 调试 209 附录B 算法分析 217 附录C Lumpy 227 译后记 236
|
亚马逊链接