Python语言程序设计 第1版(美)梁勇(Liangng.Y.D)著;李娜译 2015.04 978-7-111-48768-5

下载链接

夸克网盘

封面

内容提要

本书采用“问题驱动”、“基础先行”和“实例和实践相结合”的方式,讲述如何使用Python语言进行程序设计。本书首先介绍Python程序设计的基本概念,接着介绍面向对象程序设计方法,最后介绍算法与数据结构方面的内容。为了帮助学生更好地掌握相关知识,本书每章都包括以下模块:学习目标,引言,关键点,检查点,问题,本章总结,测试题,编程题,注意、提示和警告。
本书可以作为高等院校计算机及相关专业Python程序设计课程的教材,也可以作为Python程序设计的自学参考书。

目录

目录
  • 封面
  • 书名
  • 版权
  • 前言
  • 目录
  • 第一部分 程序设计基础
  • 第1章 计算机、程序和Python概述
  • 1.1 引言
  • 1.2 什么是计算机
  • 1.2.1 中央处理器
  • 1.2.2 比特和字节
  • 1.2.3 内存
  • 1.2.4 存储设备
  • 1.2.5 输入和输出设备
  • 1.2.6 通信设备
  • 1.3 程序设计语言
  • 1.3.1 机器语言
  • 1.3.2 汇编语言
  • 1.3.3 高级语言
  • 1.4 操作系统
  • 1.4.1 控制和管理系统行为
  • 1.4.2 调度和分配系统资源
  • 1.4.3 调度操作
  • 1.5 Python的历史
  • 1.6 开始学习Python 1.6 开始学习 Python
  • 1.6.1 启动Python 1.6.1 启动 Python
  • 1.6.2 创建Python源代码文件
  • 1.6.3 使用Python完成算术运算
  • 1.7 程序设计风格和文档
  • 1.7.1 恰当的注释和注释风格
  • 1.7.2 恰当的空格
  • 1.8 程序设计错误
  • 1.8.1 语法错误
  • 1.8.2 运行时错误
  • 1.8.3 逻辑错误
  • 1.9 开始学习图形化程序设计
  • 1.9.1 绘制图形并给图形添加颜色
  • 1.9.2 将笔移到任何位置
  • 1.9.3 绘制奥林匹克环标志
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第2章 基本程序设计
  • 2.1 引言
  • 2.2 编写一个简单的程序
  • 2.3 从控制台读取输入
  • 2.4 标识符
  • 2.5 变量、赋值语句和赋值表达式
  • 2.6 同时赋值
  • 2.7 定名常量
  • 2.8 数值数据类型和运算符
  • 2.8.1 运算符、∥和
  • 2.8.2 运算符%
  • 2.8.3 科学记数法
  • 2.9 计算表达式和运算符优先级
  • 2.10 增强型赋值运算符
  • 2.11 类型转换和四舍五入
  • 2.12 实例研究:显示当前时间
  • 2.13 软件开发流程
  • 2.14 实例研究:计算距离
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第3章 数学函数、字符串和对象
  • 3.1 引言
  • 3.2 常见的Python函数
  • 3.3 字符串和字符
  • 3.3.1 ASCII码 3.3.1 ASCII 码
  • 3.3.2 统一码
  • 3.3.3 函数ord和chr 3.3.3 函数 ord 和 chr
  • 3.3.4 转义序列
  • 3.3.5 不换行打印
  • 3.3.6 函数str
  • 3.3.7 字符串连接操作
  • 3.3.8 从控制台读取字符串
  • 3.4 实例研究:最小数量的硬币
  • 3.5 对象和方法简介
  • 3.6 格式化数字和字符串
  • 3.6.1 格式化浮点数
  • 3.6.2 用科学记数法格式化
  • 3.6.3 格式化成百分数
  • 3.6.4 调整格式
  • 3.6.5 格式化整数
  • 3.6.6 格式化字符串
  • 3.7 绘制各种图形
  • 3.8 绘制带颜色和字体的图形
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第4章 选择
  • 4.1 引言
  • 4.2 布尔类型、数值和表达式
  • 4.3 产生随机数字
  • 4.4 if语句
  • 4.5 实例研究:猜生日
  • 4.6 双向if-else语句
  • 4.7 嵌套if和多向if-elif-else语句
  • 4.8 选择语句中的常见错误
  • 4.9 实例研究:计算身体质量指数
  • 4.10 实例研究:计算税款
  • 4.11 逻辑运算符
  • 4.12 实例研究:判定闰年
  • 4.13 实例研究:彩票
  • 4.14 条件表达式
  • 4.15 运算符的优先级和结合方向
  • 4.16 检测一个对象的位置
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第5章 循环
  • 5.1 引言
  • 5.2 while循环
  • 5.2.1 实例研究:猜数字
  • 5.2.2 循环设计策略
  • 5.2.3 实例研究:多道减法题测验
  • 5.2.4 根据用户确认控制循环
  • 5.2.5 使用哨兵值控制循环
  • 5.2.6 输入输出重定向
  • 5.3 for循环
  • 5.4 嵌套循环
  • 5.5 最小化数值错误
  • 5.6 实例研究
  • 5.6.1 问题:找出最大公约数
  • 5.6.2 问题:预测未来学费
  • 5.6.3 问题:蒙特卡罗模拟
  • 5.7 关键字break和continue 5.7 关键字 break 和 continue
  • 5.8 实例研究:显示素数
  • 5.9 实例研究:随意行走
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第6章 函数
  • 6.1 引言
  • 6.2 定义一个函数
  • 6.3 调用一个函数
  • 6.4 带返回值或不带返回值的函数
  • 6.5 位置参数和关键字参数
  • 6.6 通过传引用来传递参数
  • 6.7 模块化代码
  • 6.8 实例研究:将十进制数转换为十六进制数
  • 6.9 变量的作用域
  • 6.10 默认参数
  • 6.11 返回多个值
  • 6.12 实例研究:生成随机ASCII码字符
  • 6.13 函数抽象和逐步求精
  • 6.13.1 自顶向下设计
  • 6.13.2 自顶向下和自底向上的实现
  • 6.13.3 实现细节
  • 6.13.4 逐步求精的优势
  • 6.14 实例研究:可重用图形函数
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第二部分 面向对象程序设计
  • 第7章 对象和类
  • 7.1 引言
  • 7.2 为对象定义类
  • 7.2.1 定义类
  • 7.2.2 构造对象
  • 7.2.3 访问对象成员
  • 7.2.4 self参数
  • 7.2.5 举例:使用类
  • 7.3 UML类图 7.3 UML 类图
  • 7.4 不变对象和可变对象
  • 7.5 隐藏数据域
  • 7.6 类的抽象与封装
  • 7.7 面向对象的思考
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第8章 更多字符串和特殊方法
  • 8.1 引言
  • 8.2 str类 8.2 字符串类
  • 8.2.1 创建字符串
  • 8.2.2 处理字符串的函数
  • 8.2.3 下标运算符
  • 8.2.4 截取运算符[start: end]
  • 8.2.5 连接运算符+和复制运算符
  • 8.2.6 in和not in运算符 8.2.6 in 和 not in 运算符
  • 8.2.7 比较字符串
  • 8.2.8 迭代字符串
  • 8.2.9 测试字符串
  • 8.2.10 搜索子串
  • 8.2.11 转换字符串
  • 8.2.12 删除字符串中的空格
  • 8.2.13 格式化字符串
  • 8.3 实例研究:校验回文串
  • 8.4 实例研究:将十六进制数转换为十进制数
  • 8.5 运算符重载和特殊方法
  • 8.6 实例研究:Rational类
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第9章 使用Tkinter进行GUI程序设计 第 9 章 使用 Tkinter 进行图形用户界面程序设计
  • 9.1 引言
  • 9.2 开始使用Tkinter
  • 9.3 处理事件
  • 9.4 小构件类
  • 9.5 画布
  • 9.6 几何管理器 9.6 几何管理器
  • 9.6.1 网格管理器
  • 9.6.2 包管理器
  • 9.6.3 位置管理器
  • 9.7 实例研究:贷款计算器
  • 9.8 显示图像
  • 9.9 菜单
  • 9.10 弹出菜单
  • 9.11 鼠标、按键事件和绑定
  • 9.12 动画
  • 9.13 滚动条
  • 9.14 标准对话框
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第10章 列表
  • 10.1 引言
  • 10.2 列表基础
  • 10.2.1 创建列表
  • 10.2.2 列表是一种序列类型
  • 10.2.3 列表使用的函数
  • 10.2.4 下标运算符
  • 10.2.5 列表截取[start:end]
  • 10.2.6 +、*和innot in运算符
  • 10.2.7 使用for循环遍历元素
  • 10.2.8 比较列表
  • 10.2.9 列表解析
  • 10.2.10 列表方法
  • 10.2.11 将字符串分成列表
  • 10.2.12 输入列表
  • 10.2.13 对列表移位
  • 10.2.14 简化代码
  • 10.3 实例研究:乐透数
  • 10.4 实例研究:一副扑克牌
  • 10.5 扑克牌图形用户界面
  • 10.6 复制列表
  • 10.7 将列表传递给函数
  • 10.8 从函数返回一个列表
  • 10.9 实例研究:统计每个字母的出现次数
  • 10.10 查找列表
  • 10.10.1 线性查找法
  • 10.10.2 二分查找法
  • 10.11 排序列表
  • 10.11.1 选择排序
  • 10.11.2 插入排序
  • 10.12 实例学习:弹球
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第11章 多维列表
  • 11.1 引言
  • 11.2 处理二维列表
  • 11.2.1 使用输入值初始化列表
  • 11.2.2 使用随机数初始化列表
  • 11.2.3 打印列表
  • 11.2.4 对所有元素求和
  • 11.2.5 按列求和
  • 11.2.6 找出和最大的行
  • 11.2.7 随意打乱
  • 11.2.8 排序
  • 11.3 将二维列表传递给函数
  • 11.4 问题:给多选题评分
  • 11.5 问题:找出距离最近的点对
  • 11.6 图形用户界面:找出距离最近的点对
  • 11.7 问题:数独
  • 11.8 实例研究:数独图形用户界面
  • 11.9 多维列表
  • 11.9.1 问题:每日温度和湿度
  • 11.9.2 问题:猜生日
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第12章 继承和多态
  • 12.1 引言
  • 12.2 父类和子类
  • 12.3 覆盖方法
  • 12.4 object类 12.4 object 类
  • 12.5 多态和动态绑定
  • 12.6 isinstance函数 12.6 isinstance 函数
  • 12.7 实例研究:可重用时钟
  • 12.8 类之间的关系
  • 12.8.1 关联
  • 12.8.2 聚合和组合
  • 12.9 实例研究:设计Course类
  • 12.10 为栈设计类
  • 12.11 实例研究:FigureCanvas类
  • 12.11 实例研究: FigureCanvas 类
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第13章 文件和异常处理
  • 13.1 引言
  • 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.4 实例研究:统计文件中的字符个数
  • 13.5 从网站上获取数据
  • 13.6 异常处理
  • 13.7 抛出异常
  • 13.8 使用对象处理异常
  • 13.9 定义自定制异常类
  • 13.10 使用Pickling进行二进制IO
  • 13.10.1 卸载和加载对象
  • 13.10.2 检测文件末尾
  • 13.11 实例研究:地址簿
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第三部分 数据结构和算法
  • 第14章 元组、集合和字典
  • 14.1 引言
  • 14.2 元组
  • 14.3 集合
  • 14.3.1 创建集合 14.3.1 创建集合
  • 14.3.2 操作和访问集合
  • 14.3.3 子集和超集
  • 14.3.4 相等性测试
  • 14.3.5 集合运算
  • 14.4 比较集合和列表的性能
  • 14.5 实例研究:统计关键字
  • 14.6 字典 14.6 字典
  • 14.6.1 创建一个字典
  • 14.6.2 添加、修改和获取值
  • 14.6.3 删除条目
  • 14.6.4 循环条目
  • 14.6.5 len函数
  • 14.6.6 检测一个关键字是否在字典中
  • 14.6.7 相等性检测
  • 14.6.8 字典方法
  • 14.7 实例研究:单词的出现次数
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 第15章 递归
  • 15.1 引言
  • 15.2 实例研究:计算阶乘
  • 15.3 实例研究:计算斐波那契数
  • 15.4 使用递归解决问题
  • 15.5 递归辅助函数
  • 15.5.1 选择排序
  • 15.5.2 二分查找
  • 15.6 实例研究:求出目录的大小
  • 15.7 实例研究:汉诺塔
  • 15.8 实例研究:分形
  • 15.9 实例研究:八皇后
  • 15.10 递归和迭代
  • 15.11 尾递归
  • 关键术语
  • 本章总结
  • 测试题
  • 编程题
  • 附录A Python关键字
  • 附录B ASCII字符集
  • 附录C 数制系统