Python程序设计 第3版pdf

图书网 2019年1月16日20:45:40185K2
摘要

本书具有以下特点:
● 广泛使用计算机图形学——本书提供一个简单的图形软件包graphics.py作为示例。
● 生动有趣的例子——本书包含了完整的编程示例来解决实际问题。
● 亲切自然的行文——以自然的叙事风格介绍了重要的计算机科学概念。
● 灵活的螺旋式学习过程——简单地呈现概念,逐渐介绍新的思想,章节末加以巩固强化。
● 时机恰好地介绍对象——本书既不是严格的“早讲对象”,也不是“晚讲对象”,而是在命令式编程
的基础上简要地介绍了对象概念。
● 提供丰富的教学素材——提供了大量的章末习题。还提供代码示例和教学PPT下载。
本书以Python语言为工具教授计算机程序设计。本书强调解决问题、设计和编程是计算机科学的核心技能。本书特色鲜明、示例生动有趣、内容易读易学,适合Python入门程序员阅读,也适合高校计算机专业的教师和学生参考。

Python程序设计 第3版 内容简介

《Python程序设计 第3版》是面向大学计算机科学专业的教材。本书以Python语言为工具,采用相当传统的方法,强调解决问题、设计和编程是计算机科学的核心技能。

全书共13章,此外,还包含两个附录。第 1章到第5章介绍计算机与程序、编写简单程序、数字计算、对象和图形、字符串处理等基础知识。第6章到第8章介绍函数、判断结构、循环结构和布尔值等话题。第9章到第 13章着重介绍一些较为高档的程序设计方法,包括模拟与设计、类、数据集合、面向对象设计、算法设计与递归等。附录部分给出了Python快速参考和术语表。每一章的末尾配有丰富的练习,包括复习问题、讨论和编程联系等多种形式,帮助读者巩固该章的知识和技能。

《Python程序设计 第3版》特色鲜明、示例生动有趣、内容易读易学,适合Python入门程序员阅读,也适合高校计算机专业的教师和学生参考。

Python程序设计 第3版 目录

第 1章 计算机和程序 1

学习目标 1

1.1 通用机器 1

1.2 程序的力量 2

1.3 什么是计算机科学 2

1.4 硬件基础 3

1.5 编程语言 4

1.6 Python的“魔法” 6

1.7 Python程序内部 10

1.8 混沌与计算机 12

1.9 小结 13

1.10 练习 14

复习问题 14

第 2章 编写简单程序 17

学习目标 17

2.1 软件开发过程 17

2.2 示例程序:温度转换器 18

2.3 程序要素 19

2.3.1 名称 19

2.3.2 表达式 20

2.4 输出语句 22

2.5 赋值语句 23

2.5.1 简单赋值 23

2.5.2 赋值输入 24

2.5.3 同时赋值 26

2.6 确定循环 27

2.7 示例程序:终值 29

2.8 小结 31

2.9 练习 32

复习问题 32

第3章 数字计算 35

学习目标 35

3.1 数值数据类型 35

3.2 类型转换和舍入 38

3.3 使用math库 40

3.4 累积结果:阶乘 42

3.5 计算机算术的局限性 44

3.6 小结 46

3.7 练习 47

复习问题 47

第4章 对象和图形 52

学习目标 52

4.1 概述 52

4.2 对象的目标 53

4.3 简单图形编程 53

4.4 使用图形对象 56

4.5 绘制终值 60

4.6 选择坐标 64

4.7 交互式图形 66

4.7.1 获取鼠标点击 67

4.7.2 处理文本输入 68

4.8 graphics模块参考 70

4.8.1 GraphWin对象 70

4.8.2 图形对象 71

4.8.3 Entry对象 74

4.8.4 显示图像 74

4.8.5 生成颜色 75

4.8.6 控制显示更新(高档) 75

4.9 小结 76

4.10 练习 76

复习问题 76

第5章 序列:字符串、列表和文件 81

学习目标 81

5.1 字符串数据类型 81

5.2 简单字符串处理 84

5.3 列表作为序列 86

5.4 字符串表示和消息编码 87

5.4.1 字符串表示 87

5.4.2 编写编码器 88

5.5 字符串方法 89

5.5.1 编写解码器 89

5.5.2 更多字符串方法 92

5.6 列表也有方法 93

5.7 从编码到加密 94

5.8 输入/输出作为字符串操作 95

5.8.1 示例应用程序:日期转换 95

5.8.2 字符串格式化 97

5.8.3 更好的零钱计数器 99

5.9 文件处理 99

5.9.1 多行字符串 100

5.9.2 文件处理 100

5.9.3 示例程序:批处理用户名 103

5.9.4 文件对话框(可选) 103

5.10 小结 105

5.11 练习 106

复习问题 106

第6章 定义函数 111

学习目标 111

6.1 函数的功能 111

6.2 函数的非正式讨论 112

6.3 带有函数的终值程序 115

6.4 函数和参数:令人兴奋的细节 116

6.5 返回值的函数 119

6.6 修改参数的函数 122

6.7 函数和程序结构 126

6.8 小结 128

6.9 练习 129

复习问题 129

第7章 判断结构 133

学习目标 133

7.1 简单判断 133

7.1.1 示例:温度警告 133

7.1.2 形成简单条件 135

7.1.3 示例:条件程序执行 136

7.2 两路判断 137

7.3 多路判断 140

7.4 异常处理 142

7.5 设计研究:三者大 144

7.5.1 策略1:比较每个值和所有其他值 145

7.5.2 策略2:判断树 146

7.5.3 策略3:顺序处理 147

7.5.4 策略4:使用Python 148

7.5.5 一些经验 148

7.6 小结 149

7.7 练习 149

复习问题 149

第8章 循环结构和布尔值 153

学习目标 153

8.1 for循环:快速回顾 153

8.2 不定循环 154

8.3 常见循环模式 155

8.3.1 交互式循环 155

8.3.2 哨兵循环 156

8.3.3 文件循环 158

8.3.4 嵌套循环 160

8.4 布尔值计算 161

8.4.1 布尔运算符 161

8.4.2 布尔代数 163

8.5 其他常见结构 165

8.5.1 后测试循环 165

8.5.2 循环加一半 166

8.5.3 布尔表达式作为判断 166

8.6 示例:一个简单的事件循环 169

8.7 小结 172

8.8 练习 173

复习问题 173

第9章 模拟与设计 177

学习目标 177

9.1 模拟短柄壁球 177

9.1.1 一个模拟问题 177

9.1.2 分析与规格说明 178

9.2 伪随机数 178

9.3 自顶向下的设计 180

9.3.1 顶层设计 180

9.3.2 关注点分离 182

9.3.3 第 二层设计 182

9.3.4 设计simNGames 183

9.3.5 第三层设计 184

9.3.6 整理完成 186

9.3.7 设计过程总结 188

9.4 自底向上的实现 188

9.4.1 单元测试 188

9.4.2 模拟结果 189

9.5 其他设计技术 190

9.5.1 原型与螺旋式开发 190

9.5.2 设计的艺术 191

9.6 小结 191

9.7 练习 192

复习问题 192

第 10章 定义类 196

学习目标 196

10.1 对象的快速复习 196

10.2 示例程序:炮弹 197

10.2.1 程序规格说明 197

10.2.2 设计程序 197

10.2.3 程序模块化 199

10.3 定义新类 200

10.3.1 示例:多面骰子 201

10.3.2 示例:Projectile类 203

10.4 用类数据处理 205

10.5 对象和封装 207

10.5.1 封装有用的抽象 207

10.5.2 将类放在模块中 208

10.5.3 模块文档 208

10.5.4 使用多个模块 210

10.6 控件 210

10.6.1 示例程序:掷骰子程序 211

10.6.2 创建按钮 211

10.6.3 构建骰子类 213

10.6.4 主程序 215

10.7 动画炮弹 216

10.7.1 绘制动画窗口 217

10.7.2 创建ShotTracker 218

10.7.3 创建输入对话框 219

10.7.4 主事件循环 220

10.8 小结 221

10.9 练习 222

复习问题 222

第 11章 数据集合 227

学习目标 227

11.1 示例问题:简单统计 227

11.2 应用列表 228

11.2.1 列表和数组 229

11.2.2 列表操作 229

11.2.3 用列表进行统计 231

11.3 记录的列表 235

11.4 用列表和类设计 237

11.5 案例分析:Python计算器 241

11.5.1 计算器作为对象 241

11.5.2 构建界面 241

11.5.3 处理按钮 243

11.6 案例研究:更好的炮弹动画 246

11.6.1 创建发射器 246

11.6.2 追踪多次射击 248

11.7 无顺序集合 251

11.7.1 字典基础 251

11.7.2 字典操作 252

11.7.3 示例程序:词频 253

11.8 小结 257

11.9 练习 257

复习问题 257

第 12章 面向对象设计 262

学习目标 262

12.1 OOD的过程 262

12.2 案例研究:壁球模拟 263

12.2.1 候选对象和方法 264

12.2.2 实现SimStats 265

12.2.3 实现RBallGame 266

12.2.4 实现Player 267

12.2.5 完整程序 268

12.3 案例研究:骰子扑克 270

12.3.1 程序规格说明 271

12.3.2 识别候选对象 271

12.3.3 实现模型 272

12.3.4 基于文本的UI 275

12.3.5 开发GUI 277

12.4 OO概念 282

12.4.1 封装 282

12.4.2 多态 283

12.4.3 继承 283

12.5 小结 284

12.6 练习 285

复习问题 285

第 13章 算法设计与递归 287

学习目标 287

13.1 查找 287

13.1.1 简单的查找问题 287

13.1.2 策略1:线性查找 288

13.1.3 策略2:二分查找 288

13.1.4 比较算法 289

13.2 递归问题解决 290

13.2.1 递归定义 291

13.2.2 递归函数 292

13.2.3 示例:字符串反转 293

13.2.4 示例:重组词 294

13.2.5 示例:快速指数 295

13.2.6 示例:二分查找 296

13.2.7 递归与迭代 296

13.3 排序算法 298

13.3.1 天真的排序:选择排序 298

13.3.2 分而治之:归并排序 299

13.3.3 排序比较 301

13.4 难题 303

13.4.1 汉诺依塔 303

13.4.2 停机问题 306

13.4.3 结论 308

13.5 小结 308

13.6 练习 309

复习问题 309

附录A Python快速参考 314

附录B 术语表 323

Python程序设计 第3版 精彩文摘

1.1 通用机器

几乎每个人都用过计算机。也许你玩过计算机游戏,或曾用计算机写文章、在线购物、听音乐,或通过社交媒体与朋友联系。计算机被用于预测天气、设计飞机、制作电影、经营企业、完成金融交易和控制工厂等。

你是否停下来想过,计算机到底是什么?一个设备如何能执行这么多不同的任务?学习计算机和计算机编程就从这些基本问题开始。

现代计算机可以被定义为“在可改变的程序的控制下,存储和操纵信息的机器”。该定义有两个关键要素。第一,计算机是用于操纵信息的设备。这意味着我们可以将信息放入计算机,它可以将信息转换为新的、有用的形式,然后输出或显示信息,让我们解释。

第二,计算机不是唯一能操纵信息的机器。当你用简单的计算器来加一组数字时,就在输入信息(数字),计算器就在处理信息,计算连续的总和,然后显示。另一个简单的例子是油泵。给油箱加油时,油泵利用某些输入:当前每升汽油的价格和来自传感器的信号,读取汽油流入汽车油箱的速率。油泵将这个输入转换为加了多少汽油和应付多少钱的信息。

图书网:Python程序设计 第3版pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:18   其中:访客  18   博主  0
    • 发
      9

      不错

      • Danie
        Danie 0

        试一下

        • mao
          mao 0

          十分感谢分享!

          • 2243391158
            2243391158 9

            十分感谢分享!

            • quan
              quan 9

              谢谢

              • pao
                pao 9

                想看看学习

                • Xz
                  Xz 0

                  十分感谢分享!

                  • 15113930468
                    15113930468 9

                    谢谢

                    • 54988185
                      54988185 0

                      感谢分享

                      • stars
                        stars 9

                        感谢分享