Python语言程序设计作者:(美)Y.Daniel Liang 著,李娜 译出版时间:2015内容简介 《计算机科学丛书:Python语言程序设计》以问题驱动的方式对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 开始学习Python1.6.1 启动Python1.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.2 统一码3.3.3 函数ord和chr3.3.4 转义序列3.3.5 不换行打印3.3.6 函数str3.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和continue5.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.4 不变对象和可变对象7.5 隐藏数据域7.6 类的抽象与封装7.7 面向对象的思考关键术语本章总结测试题编程题第8章 更多字符串和特殊方法8.1 引言8.2 str类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.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.1 引言9.2 开始使用Tkinter9.3 处理事件9.4 小构件类9.5 画布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 +、*和in/not 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.5 多态和动态绑定12.6 isinstance函数12.7 实例研究:可重用时钟12.8 类之间的关系12.8.1 关联12.8.2 聚合和组合12.9 实例研究:设计Course类12.10 为栈设计类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进行二进制IO13.10.1 卸载和加载对象13.10.2 检测文件末尾13.11 实例研究:地址簿关键术语本章总结测试题编程题第三部分 数据结构和算法第14章 元组、集合和字典14.1 引言14.2 元组14.3 集合14.3.1 创建集合14.3.2 操作和访问集合14.3.3 子集和超集14.3.4 相等性测试14.3.5 集合运算14.4 比较集合和列表的性能14.5 实例研究:统计关键字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 数制系统*第16章 开发高效算法*第17章 排序*第18章 链表、栈、队列及优先队列*第19章 二分查找树*第20章 AVL树*第21章 哈希:实现字典与集合*第22章 图及其应用*第23章 加权图及其应用 上一篇: 高等院校信息技术规划教材 Python语言程序设计(微课版)曹洁,张志锋,孙玉胜,崔霄 等编著 2019年版 下一篇: 五笔字型速查宝典(第2版)