本书基于MIT(麻省理工学院)的一门课程写成,主要目标是帮助读者掌握并熟练使用各种计算技术。本书涵盖了Python的大部分特性,重点介绍如何使用Python 这门语言,共包含编程基础、Python程序设计语言、理解计算的关键概念、计算问题的解决技术等四个方面。本书将Python语言特性和编程方法贯穿全书,目的是帮助读者在学习Python的同时掌握如何使用计算来解决有趣的问题。
第1章 起步1
第2章 Python介绍6
2.1 Python的基本元素7
2.1.1 对象、表达式和数值类型8
2.1.2 变量和赋值9
2.1.3 IDLE11
2.2 分支程序12
2.3 字符串和输出14
2.4 循环16
第3章 一些简单的数值类程序19
3.1 穷举法19
3.2 for循环21
3.3 近似解和二分查找23
3.4 关于浮点数26
3.5 牛顿拉夫逊方法28
第4章 函数、作用域和规范抽象30
4.1 函数和作用域31
4.1.1 函数定义31
4.1.2 关键字参数和默认值32
4.1.3 作用域33
4.2 规范36
4.3 递归39
4.3.1 斐波那契数40
4.3.2 回文和分治42
4.4 全局变量44
4.5 模块45
4.6 文件47
第5章 结构化类型、可变性和高阶函数49
5.1 元组49
5.2 列表和可变性51
5.2.1 克隆55
5.2.2 列表解析56
5.3 函数对象57
5.4 字符串、元组和列表58
5.5 字典59
第6章 测试和调试63
6.1 测试63
6.1.1 黑盒测试64
6.1.2 白盒测试66
6.1.3 执行测试67
6.2 调试68
6.2.1 学习调试70
6.2.2 设计实验71
6.2.3 如果遇到阻碍73
6.2.4 找到“目标”错误之后74
第7章 异常和断言75
7.1 处理异常75
7.2 把异常当作控制流来使用78
7.3 断言81
第8章 类和面向对象编程82
8.1 抽象的数据类型和类82
8.1.1 使用抽象的数据类型来设计程序86
8.1.2 使用类来记录学生和教师86
8.2 继承88
8.2.1 多层继承90
8.2.2 替代法则92
8.3 封装和信息隐藏92
8.4 进阶实例:抵押贷款97
第9章 算法复杂度简介101
9.1 思考计算复杂度101
9.2 渐近表示104
9.3 一些重要的复杂度105
9.3.1 常数复杂度105
9.3.2 对数复杂度106
9.3.3 线性复杂度106
9.3.4 对数线性复杂度107
9.3.5 多项式复杂度107
9.3.6 指数复杂度108
9.3.7 复杂度对比110
第10章 一些简单的算法和数据结构112
10.1 搜索算法113
10.1.1 线性搜索和间接访问元素113
10.1.2 二分查找和利用假设114
10.2 排序算法117
10.2.1 归并排序118
10.2.2 把函数当做参数120
10.2.3 Python中的排序121
10.3 散列表122
第11章 绘图以及类的扩展内容126
11.1 使用PyLab绘图126
11.2 扩展实例:绘制抵押贷款131
第12章 随机算法、概率以及统计137
12.1 随机程序138
12.2 统计推断和模拟139
12.3 分布149
12.3.1 正态分布和置信水平151
12.3.2 均匀分布154
12.3.3 指数分布和几何分布154
12.3.4 本福德分布156
12.4 强队的获胜概率157
12.5 散列和碰撞160
第13章 随机游动和数据可视化163
13.1 醉汉游动163
13.2 有偏随机游动169
13.3 危机重重的田地175
第14章 蒙特卡罗模拟177
14.1 帕斯卡的问题178
14.2 过还是不过179
14.3 使用查表提高性能182
14.4 寻找π183
14.5 模拟模型的结束语187
第15章 理解实验数据189
15.1 弹簧的行为189
15.2 弹丸的行为196
15.2.1 决定系数198
15.2.2 使用计算模型199
15.3 拟合指数分布200
15.4 当理论缺失时203
第16章 谎言和统计205
16.1 垃圾输入只能产生垃圾输出205
16.2 图表会骗人206
16.3 与此谬误208
16.4 统计方法并不能代替数据209
16.5 抽样偏差210
16.6 语境问题211
16.7 当心外推法212
16.8 得克萨斯神枪手谬误213
16.9 百分比会说谎215
16.10 小心谨慎215
第17章 背包和图的最优化问题216
17.1 背包问题216
17.1.1 贪婪算法217
17.1.2 0/1背包问题的最优解法219
17.2 图的最优化问题222
17.2.1 一些典型的图论问题226
17.2.2 疾病传播和最小割227
17.2.3 最短路径、深度优先搜索和广度优先搜索227
第18章 动态规划233
18.1 斐波那契数列233
18.2 动态规划和0/1背包问题235
18.3 动态规划和分治241
第19章 机器学习简介242
19.1 特征向量244
19.2 距离度量245
19.3 聚类249
19.4 类型示例和聚类250
19.5 K-means聚类253
19.6 人造案例255
19.7 稍微真实一些的示例259
19.8 小结265
附录 Python 2.7快速参考266
《知堂乙酉》内容简介:《知堂乙酉文编》收入周作人文章十八篇(包括题记),多作于四十年代末。其中有知堂一向喜谈的历史、风俗、
《新技术 新业态:进化中的监管科技及其应用》内容简介:本书介绍了监管科技的起源和技术框架,对国外金融发达经济体监管科技的发展
《数据主权与安全:跨境电子取证》内容简介:网络时代的到来导致以领土范围为标准的管辖界限逐渐模糊,近年来各国在刑事侦查中收集
《程控交换与宽带交换》以程控交换、ATM交换到MPLS交换的技术发展为线索,对程控交换和宽带交换进行介绍。重点介绍程控交换技术和
《中国资本市场研究报告(2019)》内容简介:本研究报告是中国人民大学金融与证券研究所(Finance and Securities,FSI)所长吴晓求
《商品美工实训》内容简介:《商品美工实训》是一本岗位项目实训教材,本书根据电子商务公司美工部门的岗位设置和技能要求整合课程
《傅雷谈达·芬奇》内容简介:本书选取傅雷讨论达·芬奇艺术的文章,并选择达·芬奇最有代表性的绘画、素描作品,加上内容详实的作
《世界新锐设计师:安特卫普的秘密:当代比利时前卫时装》由江苏美术出版社出版发行,展现了比利时时装崛起的过程,和所不为人知的
《这里是杭州·美食》内容简介:作为一座有着深厚底蕴的历史文化名城,杭州拥有独特的人文和自然环境。“这里是杭州”系列以文化寻
《现代电信百科》是一部电信专业普及读物。本书正文由基础知识篇、技术业务篇、经营管理篇和时尚未来篇等四部分组成,内容涵盖现
互联网接入服务现状及管理对策研究 本书特色这是一部全面系统探讨互联网接入服务现状及管理对策的研究专著。佟力强编写的《互联网接入服务现状及管理对策研究》从介绍互联...
《工业4.0落地之道》内容简介:本书作者基于其青岛中德生态园建设咨询专家团成员的身份与经验,对工业4.0的来龙去脉、工业4.0的具体
掌握需求过程-(第2版) 本书特色 本书论述了软件开发中的重要课题—如何得到正确需求,书中用一个接一个的步骤、一个接一个的模板、一个接一个的例子,向读者展示了经...
《东线:决战第聂伯河》内容简介:《东线》系列丛书,由有名军事作家朱世巍先生撰写。它全面而详细地讲述了二战中苏德战争的整个过
《云管理时代:解码中国管理模式⑤》内容简介:风起云涌,大浪淘沙,中国经济和全球商业环境的变化,正在对中国企业提出全新的挑战
《胡登跳研究文集》内容简介:该书收集整理了胡登跳先生的主要音乐研究文章以及2015全国民族室内乐论坛暨胡登跳学术思想研讨会的研
《Python 3面向对象编程(第2版)》内容简介:本书主要介绍如何使用Python3进行面向对象编程。第1~4章介绍面向对象这一编程范式的
《笔式用户界面》从理论、方法、技术和实现等方面系统地阐述了笔式用户界面的概念、模型、数字笔迹计算、开发方法和开发环境、关
《普通高等教育十一五国家级规划教材•通信软件设计基础》针对通信软件和通信协议的特点,从通信协议的分析、设计和描述人手,系统
专门用途英语系列教材是教育部规划的高等学校(包括高等专科院校和高等职业院校)专业英语阶段的英语教材,也可供电大、各类成人