Python编程导论(第2版)

Python编程导论(第2版)

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
8.226 评价豆瓣读书
免费试读

作品简介

本书基于MIT编程思维培训讲义写成,主要目标在于帮助读者掌握并熟练使用各种计算技术,具备用计算思维解决现实问题的能力。书中以Python 3为例,介绍了对中等规模程序的系统性组织、编写、调试,帮助读者深入理解计算复杂度,还讲解了有用的算法和问题简化技术,并探讨各类计算工具的使用。与本书第1版相比,第2版全面改写了后半部分,且书中所有示例代码都从Python 2换成了Python 3。

本书适合对编程知之甚少但想要使用计算方法解决问题的读者。

John V. Guttag,1999年~2004年任MIT电气工程与计算机科学系主任,所授计算机科学系列导论课程深受学生欢迎。目前为计算机科学与人工智能实验室网络及移动系统组联合负责人,还进行软件工程、机器定理证明、硬件验证等领域的研究以及培训工作。获美国布朗大学英语专业学士学位、应用数学硕士学位,多伦多大学计算机科学博士学位。

作品目录

  1. 版权声明
  2. 前言
  3. 致谢
  4. 第 1 章 启程
  5. 第 2 章 Python简介
  6. 2.1 Python基本元素
  7. 2.1.1 对象、表达式和数值类型
  8. 2.1.2 变量与赋值
  9. 2.1.3 Python IDE
  10. 2.2 程序分支
  11. 2.3 字符串和输入
  12. 2.3.1 输入
  13. 2.3.2 杂谈字符编码
  14. 2.4 迭代
  15. 第 3 章 一些简单的数值程序
  16. 3.1 穷举法
  17. 3.2  for 循环
  18. 3.3 近似解和二分查找
  19. 3.4 关于浮点数
  20. 3.5 牛顿-拉弗森法
  21. 第 4 章 函数、作用域与抽象
  22. 4.1 函数与作用域
  23. 4.1.1 函数定义
  24. 4.1.2 关键字参数和默认值
  25. 4.1.3 作用域
  26. 4.2 规范
  27. 4.3 递归
  28. 4.3.1 斐波那契数列
  29. 4.3.2 回文
  30. 4.4 全局变量
  31. 4.5 模块
  32. 4.6 文件
  33. 第 5 章 结构化类型、可变性与高阶函数
  34. 5.1 元组
  35. 5.2 范围
  36. 5.3 列表与可变性
  37. 5.3.1 克隆
  38. 5.3.2 列表推导
  39. 5.4 函数对象
  40. 5.5 字符串、元组、范围与列表
  41. 5.6 字典
  42. 第 6 章 测试与调试
  43. 6.1 测试
  44. 6.1.1 黑盒测试
  45. 6.1.2 白盒测试
  46. 6.1.3 执行测试
  47. 6.2 调试
  48. 6.2.1 学习调试
  49. 6.2.2 设计实验
  50. 6.2.3 遇到麻烦时
  51. 6.2.4 找到“目标”错误之后
  52. 第 7 章 异常与断言
  53. 7.1 处理异常
  54. 7.2 将异常用作控制流
  55. 7.3 断言
  56. 第 8 章 类与面向对象编程
  57. 8.1 抽象数据类型与类
  58. 8.1.1 使用抽象数据类型设计程序
  59. 8.1.2 使用类记录学生与教师
  60. 8.2 继承
  61. 8.2.1 多重继承
  62. 8.2.2 替换原则
  63. 8.3 封装与信息隐藏
  64. 8.4 进阶示例:抵押贷款
  65. 第 9 章 算法复杂度简介
  66. 9.1 思考计算复杂度
  67. 9.2 渐近表示法
  68. 9.3 一些重要的复杂度
  69. 9.3.1 常数复杂度
  70. 9.3.2 对数复杂度
  71. 9.3.3 线性复杂度
  72. 9.3.4 对数线性复杂度
  73. 9.3.5 多项式复杂度
  74. 9.3.6 指数复杂度
  75. 9.3.7 复杂度对比
  76. 第 10 章 一些简单算法和数据结构
  77. 10.1 搜索算法
  78. 10.1.1 线性搜索与间接引用元素
  79. 10.1.2 二分查找和利用假设
  80. 10.2 排序算法
  81. 10.2.1 归并排序
  82. 10.2.2 将函数用作参数
  83. 10.2.3 Python中的排序
  84. 10.3 散列表
  85. 第 11 章 绘图以及类的进一步扩展
  86. 11.1 使用PyLab绘图
  87. 11.2 进阶示例:绘制抵押贷款
  88. 第 12 章 背包与图的最优化问题
  89. 12.1 背包问题
  90. 12.1.1 贪婪算法
  91. 12.1.2 0/1背包问题的最优解
  92. 12.2 图的最优化问题
  93. 12.2.1 一些典型的图论问题
  94. 12.2.2 最短路径:深度优先搜索和广度优先搜索
  95. 第 13 章 动态规划
  96. 13.1 又见斐波那契数列
  97. 13.2 动态规划与0/1背包问题
  98. 13.3 动态规划与分治算法
  99. 第 14 章 随机游走与数据可视化
  100. 14.1 随机游走
  101. 14.2 醉汉游走
  102. 14.3 有偏随机游走
  103. 14.4 变幻莫测的田地
  104. 第 15 章 随机程序、概率与分布
  105. 15.1 随机程序
  106. 15.2 计算简单概率
  107. 15.3 统计推断
  108. 15.4 分布
  109. 15.4.1 概率分布
  110. 15.4.2 正态分布
  111. 15.4.3 连续型和离散型均匀分布
  112. 15.4.4 二项式分布与多项式分布
  113. 15.4.5 指数分布和几何分布
  114. 15.4.6 本福德分布
  115. 15.5 散列与碰撞
  116. 15.6 强队的获胜概率
  117. 第 16 章 蒙特卡罗模拟
  118. 16.1 帕斯卡的问题
  119. 16.2 过线还是不过线
  120. 16.3 使用查表法提高性能
  121. 16.4 求π的值
  122. 16.5 模拟模型结束语
  123. 第 17 章 抽样与置信区间
  124. 17.1 对波士顿马拉松比赛进行抽样
  125. 17.2 中心极限定理
  126. 17.3 均值的标准误差
  127. 第 18 章 理解实验数据
  128. 18.1 弹簧的行为
  129. 18.2 弹丸的行为
  130. 18.2.1 可决系数
  131. 18.2.2 使用计算模型
  132. 18.3 拟合指数分布数据
  133. 18.4 当理论缺失时
  134. 第 19 章 随机试验与假设检验
  135. 19.1 检验显著性
  136. 19.2 当心P-值
  137. 19.3 单尾单样本检验
  138. 19.4 是否显著
  139. 19.5 哪个N
  140. 19.6 多重假设
  141. 第 20 章 条件概率与贝叶斯统计
  142. 20.1 条件概率
  143. 20.2 贝叶斯定理
  144. 20.3 贝叶斯更新
  145. 第 21 章 谎言、该死的谎言与统计学
  146. 21.1 垃圾输入,垃圾输出
  147. 21.2 检验是有缺陷的
  148. 21.3 图形会骗人
  149. 21.4 Cum Hoc Ergo Propter Hoc
  150. 21.5 统计测量不能说明所有问题
  151. 21.6 抽样偏差
  152. 21.7 上下文很重要
  153. 21.8 慎用外推法
  154. 21.9 得克萨斯神枪手谬误
  155. 21.10 莫名其妙的百分比
  156. 21.11 不显著的显著统计差别
  157. 21.12 回归假象
  158. 21.13 小心为上
  159. 第 22 章 机器学习简介
  160. 22.1 特征向量
  161. 22.2 距离度量
  162. 第 23 章 聚类
  163. 23.1  Cluster 类
  164. 23.2 K均值聚类
  165. 23.3 虚构示例
  166. 23.4 更真实的示例
  167. 第 24 章 分类方法
  168. 24.1 分类器评价
  169. 24.2 预测跑步者的性别
  170. 24.3 K最近邻方法
  171. 24.4 基于回归的分类器
  172. 24.5 从“泰坦尼克”号生还
  173. 24.6 总结
  174. Python 3.5速查表
载入中