本书基于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
科技译名统一工作是指为减少、消除科技译名混乱的现象,给科技术语定出规范的中文译名,并推而广之的工作。本书对民国时期科技译
在线阅读本书Agreatintroductionforretailstudents,thisbookoffersauser-friendlyreferenceg...
《APP UI设计手册》内容简介:本书是一本全面介绍APPUI设计的图书,其突出特点是知识易懂、案例趣味、动手实践、发散思维。本书从学
《快速成交》内容简介:对销售人员来说,无论是设计销售方案,还是进行客户筛选、客户拜访,都是为了一个共同的目的——成交。没有
《“清”眼看世界:研究生海外社会实践成果集》内容简介:本书梳理了清华大学研究生海外社会实践近五年来的优秀实践成果,精选了来
《史学史研究的理论与实践》内容简介:本书汇集作者对于史学理论与史学史的部分论述,分为四章,即“史学理论探析”、“史家史书考
成品Premiere Pr 实战从入门到精通 本书特色 《成品——Premiere Pro CC视频编辑剪辑制作实战从入门到精通》采用技术理论和具体案例相结合的...
《半小时漫画理财课》内容简介:作为曾经月入3000元的“月光族”,理财师八宝用5年时间攒下了人生第一个1000万元;作为从海外归来的
本书采用问答的形式,为CSS使用过程中一些有价值的经典问题提供了精彩的实践解决方案。本书内容包括文本样式、CSS图像、导航、表
《中东非阿拉伯国家智库研究》内容简介:本书对中东地区的三个非阿拉伯国家以色列、土耳其和伊朗的智库发展及对各国对外政策和中东
”餐巾纸系列“全面来袭!全系列3本24开本双色彩图精致诠释,传授视觉化思考秘笈,让好玩的画图化繁为简、解决一切商业难题!★编
《城和市的语言:城市规划图解辞典》以文字和图片中的每个单词、名称或概念的字母为顺序进行编撰,同时以简洁的传记体介绍城市场所
《当代中国马克思主义研究(2016)》内容简介:本书收录了2016年当代中国马克思主义论坛的专家发言和优秀征文共29篇。全书主要探讨
《大学:平民的修养》内容简介:《重读经典·大学:平民的修养》作者从一位普通百姓的视角,重新注析解读了《大学》。全书由经、传两
Everwonderwhysometypelooksmoreprofessional,moresophisticatedthanothertype?Theans...
让你的PPT会说话 本书特色 适读人群 :1.已初步掌握PPT基本操作,急待提升的职场白领 2.要用PPT打动别人的培训师和学校老师 3.即将走上社会需要快速掌...
《幸好有烦恼》内容简介:人为了什么而活着?难道就在吃喝享乐中度此一生吗?相信不少人都有过这种困惑,也在想方设法地寻觅答案。
我们必须认识到眼前的世界已经大不一样了。请停止从旧有的角度思考问题!世界正需要你们,而你们却没有回应。让我们重新想象片刻
《汪曾祺散文(初中部分)》内容简介:汪曾祺散文随意散漫、有时逸笔草草,实际上他绝非率尔操觚。汪曾祺重视散文,认为“写任何形
本书纵观了软件开发在不同发展阶段的特点,揭示了当今在很多大型应用软件设计、开发过程中采用的一种部署模式,引出了一种称之为