本书基于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
《网络空间测绘技术与实践:让互联网情报服务于网络安全》内容简介:这是一本对网络空间测绘技术原理、工具使用、最佳实践进行全面
《黑客攻防与网络安全从新手到高手(实战篇)》内容简介:本书在剖析用户进行黑客防御中迫切需要或想要用到的技术时,力求对其进行
这是一本极其实用的设计训练书。本书内容包括使用基本图形的平面构图训练、使用色彩的平面构图训练、构图实战训练等。书中为读者
《柏台故事》内容简介:柏台之名起于汉朝。御史府中多植柏树,而朝廷禁省,统称台阁,所以御史府别称柏台。明朝改前朝御史台为都察
《像对匹配方法研究》内容简介:本书对近年来的像对匹配方法予以全面总结,并针对宽基线条件下像对匹配问题给出一些解决方法,这些
《新编Word/Excel/PPT商务办公应用大全》内容简介:作为一款常用的集成办公软件,它具有操作方便和容易上手等特点。然而要想真正掌
基于RS、GIS的区域生态安全综合评价研究:以长江三峡库区忠县为例 内容简介 本书以区域生态环境系统的安全评价概念框架为理论基础,以遥感、GIS和评价模型相结合...
BlogginghasmovedrapidlyfrombeingacrazetobecomeacorefeatureoftheInternetfromindiv...
《避风港:金融风暴中的安全投资》内容简介:《避风港》探讨了一个重要的问题:在变化波动的市场中,什么是安全的投资? 现代金融理
计算机网络安全(第2版)十一五教材 本书特色 《计算机网络安全(第2版)》为清华大学出版社出版发行。计算机网络安全(第2版)十一五教材 内容简介 简介本书系统地...
《十九世纪欧洲经典二十四画》内容简介:今天世界的框架是在十九世纪欧洲建立起来的。当我们在追问艺术的现代性时自然而然地就会将
《插画教室》内容简介:本书是专业插画设计基础教程。插画创作离不开植物、动物、人物、静物这些元素,本书便从这些元素入手,以几
《CPU自制入门》内容简介:本书教读者制作原创的计算机系统。第1章以介绍CPU为主,同时介绍如何制作存储程序与数据的内存、输入与输
《JSP设计》(第3版)自1999处JSP1.0发布以来,JavaServerPages(JSP)可谓掀起了一场风暴,其追随者蜂拥而至。JSP为企业Java开发...
多媒体技术及应用(第2版) 本书特色 执考用书,14年经验指导,全面覆盖大纲,补充超纲考点。多媒体技术及应用(第2版) 内容简介 本书根据教育部高等学校文科计算...
《独立游戏开发》内容简介:本书第1篇适合所有想要了解独立游戏开发的读者阅读,第2、3篇则适合有一定C#或Java编程语言基础的游戏开
《李国文散文》内容简介:李国文散文,无论抒写对现实人生的思考,还是关注历史上文人的生存状态,字里行间都透出真性情,具有洞明
《张枣的诗(修订本)》内容简介:汇集张枣毕生创作诗歌作品的精华,充分展现了张枣诗歌创作的风貌,充分展现了张枣作为新时期涌现
《重塑》内容简介:本书主要围绕新基建驱动的数字经济发展现状、亮点与细节,聚焦政府、企业及社会组织三大主体的角色、行为与价值
《孙犁散文》内容简介:本书邀请孙犁研究专家重新编选的全新版本,包括《童年漫忆》《父亲的记忆》《母亲的记忆》《亡人逸事》《报