Python 程序设计 第3版 PDF 文档

发布于 2024-05-30 11:24:09 字数 5043 浏览 22 评论 0

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

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

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

目录
第 1 章 计算机和程序
学习目标
1.1 通用机器
1.2 程序的力量
1.3 什么是计算机科学
1.4 硬件基础
1.5 编程语言
1.6 Python 的“魔法”
1.7 Python 程序内部
1.8 混沌与计算机
1.9 小结
1.10 练习
复习问题
第 2 章 编写简单程序
学习目标
2.1 软件开发过程
2.2 示例程序:温度转换器
2.3 程序要素
2.3.1 名称
2.3.2 表达式
2.4 输出语句
2.5 赋值语句
2.5.1 简单赋值
2.5.2 赋值输入
2.5.3 同时赋值
2.6 确定循环
2.7 示例程序:终值
2.8 小结
2.9 练习
复习问题
第 3 章 数 字 计 算
学习目标
3.1 数值数据类型
3.2 类型转换和舍入
3.3 使用 math 库
3.4 累积结果:阶乘
3.5 计算机算术的局限性
3.6 小结
3.7 练习
复习问题
第 4 章 对象和图形
学习目标
4.1 概述
4.2 对象的目标
4.3 简单图形编程
4.4 使用图形对象
4.5 绘制终值
4.6 选择坐标
4.7 交互式图形
4.7.1 获取鼠标点击
4.7.2 处理文本输入
4.8 graphics 模块参考
4.8.1 GraphWin 对象
4.8.2 图形对象
4.8.3 Entry 对象
4.8.4 显示图像
4.8.5 生成颜色
4.8.6 控制显示更新(高级)
4.9 小结
4.10 练习
复习问题
第 5 章 序列:字符串、列表和文件
学习目标
5.1 字符串数据类型
5.2 简单字符串处理
5.3 列表作为序列
5.4 字符串表示和消息编码
5.4.1 字符串表示
5.4.2 编写编码器
5.5 字符串方法
5.5.1 编写解码器
5.5.2 更多字符串方法
5.6 列表也有方法
5.7 从编码到加密
5.8 输入/输出作为字符串操作
5.8.1 示例应用程序:日期转换
5.8.2 字符串格式化
5.8.3 更好的零钱计数器
5.9 文件处理
5.9.1 多行字符串
5.9.2 文件处理
5.9.3 示例程序:批处理用户名
5.9.4 文件对话框(可选)
5.10 小结
5.11 练习
复习问题
第 6 章 定 义 函 数
学习目标
6.1 函数的功能
6.2 函数的非正式讨论
6.3 带有函数的终值程序
6.4 函数和参数:令人兴奋的细节
6.5 返回值的函数
6.6 修改参数的函数
6.7 函数和程序结构
6.8 小结
6.9 练习
复习问题
第 7 章 判 断 结 构
学习目标
7.1 简单判断
7.1.1 示例:温度警告
7.1.2 形成简单条件
7.1.3 示例:条件程序执行
7.2 两路判断
7.3 多路判断
7.4 异常处理
7.5 设计研究:三者最大
7.5.1 策略 1:比较每个值和所有其他值
7.5.2 策略 2:判断树
7.5.3 策略 3:顺序处理
7.5.4 策略 4:使用 Python
7.5.5 一些经验
7.6 小结
7.7 练习
复习问题
第 8 章 循环结构和布尔值
学习目标
8.1 for 循环:快速回顾
8.2 不定循环
8.3 常见循环模式
8.3.1 交互式循环
8.3.2 哨兵循环
8.3.3 文件循环
8.3.4 嵌套循环
8.4 布尔值计算
8.4.1 布尔运算符
8.4.2 布尔代数
8.5 其他常见结构
8.5.1 后测试循环
8.5.2 循环加一半
8.5.3 布尔表达式作为判断
8.6 示例:一个简单的事件循环
8.7 小结
8.8 练习
复习问题
第 9 章 模拟与设计
学习目标
9.1 模拟短柄壁球
9.1.1 一个模拟问题
9.1.2 分析与规格说明
9.2 伪随机数
9.3 自顶向下的设计
9.3.1 顶层设计
9.3.2 关注点分离
9.3.3 第二层设计
9.3.4 设计 simNGames
9.3.5 第三层设计
9.3.6 整理完成
9.3.7 设计过程总结
9.4 自底向上的实现
9.4.1 单元测试
9.4.2 模拟结果
9.5 其他设计技术
9.5.1 原型与螺旋式开发
9.5.2 设计的艺术
9.6 小结
9.7 练习
复习问题
第 10 章 定 义 类
学习目标
10.1 对象的快速复习
10.2 示例程序:炮弹
10.2.1 程序规格说明
10.2.2 设计程序
10.2.3 程序模块化
10.3 定义新类
10.3.1 示例:多面骰子
10.3.2 示例:Projectile 类
10.4 用类数据处理
10.5 对象和封装
10.5.1 封装有用的抽象
10.5.2 将类放在模块中
10.5.3 模块文档
10.5.4 使用多个模块
10.6 控件
10.6.1 示例程序:掷骰子程序
10.6.2 创建按钮
10.6.3 构建骰子类
10.6.4 主程序
10.7 动画炮弹
10.7.1 绘制动画窗口
10.7.2 创建 ShotTracker
10.7.3 创建输入对话框
10.7.4 主事件循环
10.8 小结
10.9 练习
复习问题
第 11 章 数 据 集 合
学习目标
11.1 示例问题:简单统计
11.2 应用列表
11.2.1 列表和数组
11.2.2 列表操作
11.2.3 用列表进行统计
11.3 记录的列表
11.4 用列表和类设计
11.5 案例分析:Python 计算器
11.5.1 计算器作为对象
11.5.2 构建界面
11.5.3 处理按钮
11.6 案例研究:更好的炮弹动画
11.6.1 创建发射器
11.6.2 追踪多次射击
11.7 无顺序集合
11.7.1 字典基础
11.7.2 字典操作
11.7.3 示例程序:词频
11.8 小结
11.9 练习
复习问题
第 12 章 面向对象设计
学习目标
12.1 OOD 的过程
12.2 案例研究:壁球模拟
12.2.1 候选对象和方法
12.2.2 实现 SimStats
12.2.3 实现 RBallGame
12.2.4 实现 Player
12.2.5 完整程序
12.3 案例研究:骰子扑克
12.3.1 程序规格说明
12.3.2 识别候选对象
12.3.3 实现模型
12.3.4 基于文本的 UI
12.3.5 开发 GUI
12.4 OO 概念
12.4.1 封装
12.4.2 多态
12.4.3 继承
12.5 小结
12.6 练习
复习问题
第 13 章 算法设计与递归
学习目标
13.1 查找
13.1.1 简单的查找问题
13.1.2 策略 1:线性查找
13.1.3 策略 2:二分查找
13.1.4 比较算法
13.2 递归问题解决
13.2.1 递归定义
13.2.2 递归函数
13.2.3 示例:字符串反转
13.2.4 示例:重组词
13.2.5 示例:快速指数
13.2.6 示例:二分查找
13.2.7 递归与迭代
13.3 排序算法
13.3.1 天真的排序:选择排序
13.3.2 分而治之:归并排序
13.3.3 排序比较
13.4 难题
13.4.1 汉诺依塔
13.4.2 停机问题
13.4.3 结论
13.5 小结
13.6 练习
复习问题
附录 A Python 快速参考
附录 B 术语表

下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/01/zjgO5THscufdcvK9.zip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

眉黛浅

暂无简介

0 文章
0 评论
675 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文