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