Python程序设计基础(原书第5版)
作者 : [美] 托尼·加迪斯(Tony Gaddis) 著
译者 : 苏小红 叶麟 袁永峰 译
丛书名 : 计算机科学丛书
出版日期 : 2021-09-24
ISBN : 978-7-111-68983-6
适用人群 : 编程零基础的初学者
定价 : 139.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 459
开本 : 16
原书名 : Starting Out with Python,Fifth Edition
原出版社: Pearson Education Inc.
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书详尽而系统地介绍了Python语言程序设计的方方面面,通过大量的示例、伪代码、流程图和其他工具,使读者更容易学习程序设计逻辑。本书清晰、简明、友好的表述风格,可以让读者轻松掌握Python编程理论,快速投入实际开发中。

图书特色

智能化时代应用广泛、不断创新的优秀教材

图书前言

本书面向编程零基础的初学者,使用Python语言来讲授编程概念和解决问题的方法。通过易于理解的示例、伪代码、流程图和其他工具,学生可以学习如何设计程序的逻辑,以及如何使用Python实现程序。本书是非常理想的编程入门课程的教材,也适合作为以Python为语言的编程逻辑与设计课程的教材。
本书的特点是其清晰、友好、易于理解的描述。此外,它有着丰富而简明实用的示例程序,包括突出特定编程主题的简短示例,以及解决更深入问题的程序。每章提供一个或多个案例研究,对具体问题进行逐步分析,并展示如何解决它。
先控制结构,然后类
Python是一种完全面向对象的编程语言,但是读者不必在开始编程时就去理解面向对象的概念。本书首先介绍数据存储、输入和输出、控制结构、函数、序列和列表、文件I/O以及从标准类库中创建对象等基础知识,然后介绍如何编写类,探索继承和多态性,并学习编写递归函数。最后介绍如何开发简单的事件驱动的GUI应用程序。
第5版的变化
本书清晰的写作风格和以前的版本一样。然而,本版也做了许多补充和改进,总结如下:
数据库编程—增加了有关数据库编程的新章节(第14章),介绍SQL和SQLite上的Python数据库编程。
解析表达式—解释了列表解析、字典解析和集合解析。
更新的字符串知识—添加了新的字符串知识,包括:
使用Python 3.6引入的f-string来显示格式化输出。f-string使用简洁直观的语法,比format函数更容易学习。format函数的材料已移至附录F。
第8章增加了对字符串token的讨论。
第8章添加了读取和解析CSV文件的新示例。
扩展了第2章中对字符串连接的讨论,包含了相邻字符串的隐式连接。
GUI编程—第13章添加了新的GUI编程知识,包括:
为控件添加边框。
内部和外部填充。
列表框控件和滚动条。
龟图—引入了用于读取带有对话框的用户输入的两个命令:
turtle.numinput。
turtle.textinput。
随机选择列表元素—在第7章引入了random.choice()函数,用于随机选择列表元素。
新函数知识—第5章添加了一些新知识,包括:
引入了pass关键字。
扩展了对None值的讨论,解释了为什么函数可能返回None。
采用了有条件执行main函数的标准做法。
各章概览
第1章:计算机与编程
本章首先对计算机的工作方式、数据的存储和操作方式以及使用高级语言编写程序的原因进行非常具体且易于理解的解释。本章还介绍了Python、交互模式、脚本模式和IDLE。
第2章:输入、处理与输出
本章介绍程序的开发周期、变量、数据类型和使用顺序结构编写的简单程序。学生可以学习如何编写简单的程序:从键盘读取输入、执行数学运算并输出到屏幕上。本章还对伪码和流程图等设计程序的工具进行了介绍。本章最后介绍了机器龟图形库。
第3章:选择结构与布尔逻辑
本章介绍关系运算符和布尔表达式,并展示如何使用选择结构控制程序流程,涉及if、if-else和if-elif-else语句,还讨论了嵌套选择结构和逻辑运算符。本章最后讨论了如何使用选择结构测试机器龟的状态。
第4章:循环结构
本章展示如何使用while循环和for循环创建循环结构,讨论了计数器、累加器和标记,以及编写输入验证循环的技术。本章最后介绍了如何使用循环和机器龟图形库进行绘图设计。
第5章:函数
本章首先介绍如何编写和调用void函数,展示了使用函数对程序进行模块化的好处,并讨论了自顶向下的设计方法。然后,介绍如何将参数传递给函数,讨论了常见的库函数,如生成随机数的函数。在学习了如何调用库函数并使用其返回值之后,讲解如何定义和调用自己的函数。接下来介绍如何使用模块来组织函数。本章最后讨论了如何使用函数模块化机器龟图形库代码。
第6章:文件和异常
本章介绍顺序文件的输入和输出,学习如何读取和写入大量数据,并将数据存储为字段和记录。本章最后讨论异常,并演示了如何编写异常处理的代码。
第7章:列表和元组
本章介绍Python中序列的概念,探讨两种常见Python序列—列表和元组的使用,学习使用列表进行类似数组的操作,例如在列表中存储对象、遍历列表、搜索列表中的元素以及计算列表中元素的总和和平均值。本章讨论了列表解析表达式、切片和许多列表方法,涉及一维和二维列表。本章还包括对matplotlib包的讨论,以及如何使用它根据列表绘制图表。
第8章:深入字符串
本章介绍如何更加细致地处理字符串,讨论遍历字符串中各个字符的字符串切片和算法,并介绍用于字符、文本处理的内置函数和字符串方法。本章还包括token化字符串和解析CSV文件的示例。
第9章:字典和集合
本章介绍字典和集合数据结构,学习将数据存储为字典中的键值对、检索值、更改现有值、添加新键值对、删除键值对以及编写字典解析。接下来讨论如何将值存储为集合中的唯一元素,并执行常见的集合操作,例如并集、交集、差集和对称差集,还讨论了集合解析。最后对对象序列化进行了讨论,并介绍了Python pickle模块。
第10章:类与面向对象编程
本章比较面向过程和面向对象的编程实践,涵盖了类和对象的基本概念,并讨论了属性、方法、封装和数据隐藏、_?_init_?_函数(类似于构造函数)、访问器、赋值器,学习如何使用UML对类进行建模,以及如何在特定问题中查找类。
第11章:继承
本章继续学习继承和多态,所涉及的主题包括超类、子类以及_?_init_?_函数在继承、方法覆盖和多态中的工作方式。
第12章:递归
本章讨论递归及其在问题求解中的应用,给出了递归调用的可视化跟踪和递归应用,展示了许多任务的递归算法,例如查找因子、求最大公约数、对列表中的一系列值求和,并给出了经典汉诺塔的例子。
第13章:GUI编程
本章讨论使用Python的tkinter模块设计GUI应用程序的基本方法,包括标签、按钮、输入域、单选按钮、复选框、列表框和对话框等基本控件,还学习了GUI应用程序中事件的工作方式以及如何编写回调函数来处理事件。本章包括对Canvas控件的讨论,以及如何使用它来绘制直线、矩形、椭圆、弧、多边形和文本。
第14章:数据库编程
本章介绍数据库编程。首先介绍数据库的基本概念,如表、行、主键等。然后学习使用SQLite在Python中连接数据库。接下来介绍SQL以及如何执行查询和语句来搜索行、添加新行、更新现有行和删除行。最后演示CRUD应用程序,讨论了关系数据。
附录A:Python安装
本附录解释如何下载和安装Python最新版。
附录B:IDLE简介
本附录概述Python附带的IDLE集成开发环境。
附录C:ASCII字符集
作为参考,本附录列出了ASCII字符集。
附录D:预定义颜色
本附录列出了可与机器龟图形库、matplotlib和tkinter一起使用的预定义颜色名称。
附录E:import语句详解
本附录讨论使用import语句的各种方法。例如,可以使用import语句导入模块、类、函数或为模块分配别名。
附录F:使用format()函数格式化数值输出
本附录讨论format()函数,展示了如何使用其格式说明符来控制数值的显示方式。
附录G:使用pip工具安装模块
本附录讨论如何使用pip实用工具从Python包索引(PyPI)安装第三方模块。
附录H:检查点参考答案
本附录给出了正文中出现的检查点问题的答案。
本书的组织
本书以循序渐进的方式讲授编程。每一章都包含一组主题,既可以很容易地按照现在的章节顺序进行讲授,也可以有一定的灵活性,从而按照希望的顺序进行教学安排。图P-1显示了章节之间的依赖关系,箭头指明讲授某章节之前必须覆盖的章节。

图P-1 章节依赖关系
本书特点
概念 每个主要节都从概念开始。
示例程序 每章都有大量完整和部分的示例程序,旨在突出当前主题。
聚光灯 每章都有一个或多个聚光灯案例研究,提供详细的、循序渐进的问题分析,并展示如何解决它们。
注 贯穿全书,对有趣的或经常被误解的上下文相关的主题进行简短的解释。
提示 提供解决不同编程问题的最佳技术。
警告 提醒学生注意可能导致程序出现错误或数据丢失的编程技术或实践。
检查点 贯穿全书,在学习新主题后快速检查学生的掌握情况。
复习题 位于每章末,包括多项选择题、判断题、算法工作室、简答题和编程题。
补充材料
学生在线资源
以下资源可在www.pearsonhighered.com/cs-resources上找到:
每个示例程序的源代码
本书的配套视频注释
教师资源
所有复习题的答案
PPT
测试题库
扫描二维码可获得的中文材料
本书采用一书一码的方式,即一本书对应一个专有的二维码(见本书前面的衬纸)。扫描二维码获取阅读权限后,可浏览以下电子数据资源。
第11章 继承
第12章 递归
第13章 GUI编程
第14章 数据库编程
附录A Python安装
附录B IDLE简介
附录C ASCII字符集
附录D 预定义颜色
附录E import语句详解
附录F 使用format()函数格式化数值输出
附录G 使用pip工具安装模块
附录H 检查点参考答案
未来我们还可能通过该二维码提供更多的增值服务,例如习题答案、教师的授课视频等。
致谢
感谢下列评审人员的专业建议:

感谢海伍德社区学院的教职员工和管理人员,感谢他们让我有机会教授我所热爱的学科。还要感谢家人和朋友对我所有项目的支持。
本书能被培生出版是我莫大的荣幸,非常幸运有Tracy Johnson作为我的编辑和内容经理。她和她的同事Holly Stark、Erin Sullivan、Alicia Wilson、Scott Disanno、Carole Snyder、Bob Engelhardt、Aishwarya Panday不知疲倦地制作和推广这本书。谢谢大家!

上架指导

计算机\程序设计

封底文字

本书详尽而系统地介绍了Python语言程序设计的方方面面,通过大量的示例、伪代码、流程图和其他工具,使读者更容易学习程序设计逻辑。本书清晰、简明、友好的表述风格,可以让读者轻松掌握Python编程理论,快速投入到实际开发中。
本书特色
清晰、友好、易于理解的表达:简明而有效的编程理论讲解,循序而善诱。
丰富而简明实用的样例程序:包括突出特定编程主题的简短示例, 以及更深入解决问题的程序。
每章提供一个或多个案例研究:提供一个具体问题的逐步分析, 并展示如何解决它。
第5版新增内容
增加了有关数据库编程的新章节(第14章)。
解释了列表解析、字典解析和集合解析。
增加了新的字符串知识,包括f字符串、字符串令牌、相邻字符串的隐式连接,以及读取和解析CSV文件的新示例。
增加了新的GUI编程知识,包括为控件添加边框、内部和外部填充、列表框控件和滚动条等。
针对龟图增加了用于读取带有对话框的用户输入的两个命令。
引入了随机选择列表元素的相关函数。
增加了新函数知识,包括对pass关键字、None值的讨论等。

作者简介

[美] 托尼·加迪斯(Tony Gaddis) 著:托尼•加迪斯(Tony Gaddis)在北卡罗来纳州的海伍德社区学院讲授“计算机编程语言”“操作系统”和“物理”课程。他在1994年被评为北卡罗来纳社区学院的“年度最佳教师”,并在1997年获得“教学卓越奖”。Tony也提供对公司和机构(包括NASA的肯尼迪航天中心)的培训。他著有《Starting Out with C++》和《Starting Out with Java》,并与人合著了《Starting Out with Visual Basic 2005》等。

译者序

相比于计算机硬件,程序设计语言一直是计算机舞台上最为活跃、最为耀眼的明星。据不完全统计,目前已经诞生了超过2000种程序设计语言,可谓百花齐放。然而,大浪淘沙,一部分程序设计语言如泥牛入海般地悄无踪影,而Java、C、C++和Python却依然傲视群雄。程序设计语言之间此消彼长的纷争局面也恰恰说明了语言并无高低贵贱,不需要非我即他。而本书的主角—Python程序设计语言是“天下武功唯快不破”的集大成者。Python的“快”体现在:①起手快,与C语言“九层之台起于累土”的厚重相比,Python语言的易学易用可以让编程新手有“信手拈来”“立竿见影”的轻快;②开发快,Python语言强大的社区支持和数以万计的第三方库,可以让编程任务有“他山之石”“左右逢源”的畅快;③覆盖快,Python语言是TensorFlow、paddlepaddle等最新人工智能框架的首选,可以让编程达人有“凭高望远”“敢为人先”的痛快。
本书的译者曾在哈尔滨工业大学计算机学院主讲“高级语言程序设计(Python)”课程,在授课过程中深切地感受到一本合适的教材对学生的重要性。和选择编程语言一样,适合的就是最好的。一本好的教材不仅关注知识的传授,还可以激发学生浓厚的学习兴趣,这也是程序设计语言强调实践的关键所在。虽然关于Python程序设计语言的书籍在市面上已有不少,但大多面向具有一定编程基础的读者,不是专门为初次接触Python语言的读者而精心定制的。作为教科书,本书面向编程零基础的读者,对Python语言进行了深入浅出而细致的讲解,更难能可贵的是,本书为初学者量身定制了大量的编程习题和实践问题,可以让读者感同身受地体会Python之美和程序设计之美。
本书由苏小红、叶麟和袁永峰三位主译,他们都是活跃在程序设计语言课程教学实践中的一线老师。机械工业出版社华章分社编辑何方在本书的整个翻译过程中提供了许多帮助,在此表示衷心感谢。
译文虽经多次修改和校对,但由于译者的水平有限,加之时间仓促,疏漏及错误在所难免,我们真诚地希望读者不吝赐教,不胜感激。

译 者
2021年4月于哈尔滨工业大学

图书目录

译者序
前言
第1章 计算机与编程 1
1.1 简介 1
1.2 硬件和软件 2
1.2.1 硬件 2
1.2.2 软件 4
1.3 计算机如何存储数据 5
1.3.1 存储数字 6
1.3.2 存储字符 7
1.3.3 高级数字存储 8
1.3.4 其他类型的数据 8
1.4 程序如何工作 9
1.4.1 从机器语言到汇编语言 11
1.4.2 高级语言 11
1.4.3 关键字、操作符和语法概述 12
1.4.4 编译器和解释器 13
1.5 使用Python 14
1.5.1 安装Python 14
1.5.2 Python解释器 14
1.5.3 交互模式 15
1.5.4 在脚本模式下编写和运行Python程序 16
1.5.5 IDLE编程环境 16
复习题 17
第2章 输入、处理与输出 20
2.1 设计一个程序 20
2.1.1 程序开发周期 20
2.1.2 设计过程中的更多技术细节 21
2.1.3 理解程序要完成的任务 21
2.1.4 确定为完成任务所需采取的步骤 21
2.1.5 伪码 22
2.1.6 流程图 22
2.2 输入、处理与输出 23
2.3 用print函数显示输出 24
2.4 注释 26
2.5 变量 27
2.5.1 用赋值语句创建变量 27
2.5.2 变量命名规则 29
2.5.3 用print函数显示多项内容 30
2.5.4 变量再赋值 31
2.5.5 数值数据类型和数值文本 31
2.5.6 用数据类型str来存储字符串 33
2.5.7 将一个变量重新赋值为不同的类型 33
2.6 从键盘读取输入 34
2.7 执行计算 37
2.7.1 浮点数除法与整数除法 40
2.7.2 运算符的优先级 40
2.7.3 用圆括号将运算分组 41
2.7.4 指数运算符 43
2.7.5 求余运算符 43
2.7.6 将数学公式转换成程序语句 44
2.7.7 混合数据类型的表达式与数据类型转换 46
2.7.8 长语句拆分成多行 47
2.8 字符串连接 48
2.9 关于print函数的更多介绍 49
2.9.1 抑制print函数的换行功能 49
2.9.2 指定一个输出项分隔符 50
2.9.3 转义字符 50
2.10 用f-string显示格式化输出 52
2.10.1 占位符表达式 52
2.10.2 格式化数值 53
2.10.3 舍入浮点数 53
2.10.4 插入逗号分隔符 54
2.10.5 格式化浮点数为百分数形式 55
2.10.6 科学记数法形式的格式化 55
2.10.7 格式化整数 55
2.10.8 指定最小域宽 56
2.10.9 数值对齐 57
2.10.10 指示符的顺序 58
2.10.11 用f-string连接 58
2.11 有名常量 60
2.12 机器龟图形库简介 61
2.12.1 使用机器龟来画线 62
2.12.2 机器龟的转向 62
2.12.3 将机器龟的朝向设置为特定的角度 63
2.12.4 获取机器龟的当前朝向 64
2.12.5 画笔的抬起和放下 64
2.12.6 绘制圆和点 65
2.12.7 修改画笔的宽度 66
2.12.8 改变画笔的颜色 66
2.12.9 修改背景的颜色 66
2.12.10 重新设置屏幕 66
2.12.11 指定图形窗口的大小 67
2.12.12 移动机器龟到指定的位置 67
2.12.13 获取机器龟的当前位置 68
2.12.14 控制机器龟的动画速度 68
2.12.15 隐藏机器龟 68
2.12.16 在图形窗口中显示文本 69
2.12.17 图形填充 69
2.12.18 用对话框获取输入 71
2.12.19 用turtle.textinput命令获取字符串输入 72
2.12.20 用turtle.done()语句保持图形窗口的开放状态 73
复习题 79
第3章 选择结构与布尔逻辑 85
3.1 if语句 85
3.1.1 布尔表达式与关系运算符 86
3.1.2 综合应用 88
3.2 if-else语句 91
3.3 字符串比较 94
3.4 嵌套的选择结构与if-elif-else语句 97
3.4.1 测试一组条件 100
3.4.2 if-elif-else语句 102
3.5 逻辑运算符 103
3.5.1 运算符and 104
3.5.2 运算符or 105
3.5.3 短路求值 105
3.5.4 运算符not 105
3.5.5 再次分析判定贷款资格的程序 106
3.5.6 另一个判定贷款资格的程序 107
3.5.7 用逻辑运算符检查数据范围 108
3.6 布尔变量 109
3.7 机器龟图形库:判断机器龟的状态 110
3.7.1 获取机器龟的位置 110
3.7.2 获取机器龟的朝向 110
3.7.3 检测画笔是否被放下 110
3.7.4 判断机器龟是否可见 111
3.7.5 获取当前颜色 111
3.7.6 获取画笔的线宽 112
3.7.7 获取机器龟的动画速度 112
复习题 117
第4章 循环结构 124
4.1 循环结构简介 124
4.2 while循环:条件控制的循环 125
4.2.1 while循环是先测试的循环 127
4.2.2 无限循环 129
4.3 for循环:计数控制的循环 130
4.3.1 在for循环中使用range函数 132
4.3.2 在循环内部使用目标变量 133
4.3.3 让用户控制循环迭代 136
4.3.4 生成一个从大到小递减的数据序列 138
4.4 计算累加和 138
4.5 标记 141
4.6 输入验证循环 143
4.7 嵌套循环 147
4.8 机器龟图形库:用循环语句进行绘图设计 153
复习题 155
第5章 函数 160
5.1 函数简介 160
5.1.1 使用函数模块化程序的好处 160
5.1.2 void函数和有返回值函数 161
5.2 定义和调用void函数 162
5.2.1 函数名 162
5.2.2 定义和调用函数 162
5.2.3 Python的缩进 165
5.3 使用函数设计程序 166
5.3.1 使用函数流程图化程序 166
5.3.2 自顶向下的设计 167
5.3.3 层次图 167
5.3.4 暂停执行直到用户按Enter键 170
5.4 局部变量 171
5.5 向函数传递参数 173
5.5.1 参数变量的作用域 174
5.5.2 传递多个参数 176
5.5.3 改变参数 177
5.5.4 关键字参数 179
5.6 全局变量和全局常量 180
5.7 有返回值的函数简介:生成随机数 183
5.7.1 标准库函数和import语句 184
5.7.2 产生随机数 184
5.7.3 从f-string调用函数 187
5.7.4 交互模式下的随机数实验 187
5.7.5 randrange、random和uniform函数 190
5.7.6 随机数种子 191
5.8 自己编写有返回值的函数 192
5.8.1 充分利用return语句 193
5.8.2 如何使用有返回值的函数 194
5.8.3 使用IPO图 195
5.8.4 返回字符串 199
5.8.5 返回布尔值 199
5.8.6 返回多个值 201
5.8.7 从函数返回None 201
5.9 math模块 203
5.10 在模块中存储函数 205
5.11 机器龟图形库:使用函数模块化代码 210
复习题 214
第6章 文件和异常 222
6.1 文件输入和输出简介 222
6.1.1 文件类型 223
6.1.2 文件访问方法 224
6.1.3 文件名和文件对象 224
6.1.4 打开文件 225
6.1.5 指定文件的位置 225
6.1.6 将数据写入文件 226
6.1.7 从文件读取数据 227
6.1.8 将换行符连接到字符串 229
6.1.9 读取字符串并删除其中的换行符 231
6.1.10 将数据追加到已有文件 232
6.1.11 读写数值数据 232
6.2 使用循环处理文件 235
6.2.1 使用循环读取文件并检查文件的结尾 236
6.2.2 使用Python的for循环读取多行 238
6.3 处理记录 241
6.4 异常 252
6.4.1 处理多个异常 257
6.4.2 使用except子句捕获所有异常 259
6.4.3 显示异常的默认错误消息 259
6.4.4 else子句 261
6.4.5 finally子句 262
6.4.6 如果异常没有被处理怎么办 262
复习题 263
第7章 列表和元组 267
7.1 序列 267
7.2 列表简介 267
7.2.1 重复运算符 268
7.2.2 使用for循环在列表上迭代 269
7.2.3 索引 270
7.2.4 len函数 271
7.2.5 使用for循环按索引遍历列表 271
7.2.6 列表是可变的 271
7.2.7 连接列表 273
7.3 列表切片 274
7.4 使用in操作符在列表中查找元素 277
7.5 列表方法和有用的内置函数 278
7.5.1 del语句 283
7.5.2 min和max函数 283
7.6 复制列表 284
7.7 处理列表 285
7.7.1 计算列表中的数值之和 287
7.7.2 计算列表中数值的平均值 287
7.7.3 将列表作为参数传递给函数 288
7.7.4 从函数返回一个列表 289
7.7.5 随机选择列表元素 292
7.7.6 处理列表和文件 293
7.8 列表解析 296
7.9 二维列表 298
7.10 元组 302
7.10.1 重点是什么 303
7.10.2 列表和元组间的转换 303
7.11 使用matplotlib包画出列表数据 303
7.11.1 导入pyplot模块 304
7.11.2 绘制折线图 304
7.11.3 绘制条形图 311
7.11.4 绘制饼图 315
复习题 318
第8章 深入字符串 324
8.1 字符串的基本操作 324
8.1.1 访问字符串中的单个字符 324
8.1.2 字符串连接 327
8.1.3 字符串是不可变的 328
8.2 字符串切片 329
8.3 测试、搜索和操作字符串 333
8.3.1 使用in和not in测试字符串 333
8.3.2 字符串方法 334
8.3.3 重复操作符 340
8.3.4 分割字符串 342
复习题 347
第9章 字典和集合 352
9.1 字典 352
9.1.1 创建字典 352
9.1.2 从字典中检索值 353
9.1.3 使用in和not操作符判断字典中的值 354
9.1.4 向已有字典中添加元素 354
9.1.5 删除元素 355
9.1.6 获取字典中元素的数量 355
9.1.7 字典中数据类型的混合 356
9.1.8 创建空字典 357
9.1.9 使用for循环遍历字典 357
9.1.10 常用字典方法 358
9.1.11 字典解析 370
9.1.12 在字典解析中使用if子句 372
9.2 集合 373
9.2.1 创建集合 374
9.2.2 获取集合中元素的数量 375
9.2.3 添加和删除元素 375
9.2.4 使用for循环在集合上迭代 377
9.2.5 使用in和not in操作符判断集合中的值 377
9.2.6 求集合的并集 377
9.2.7 求集合的交集 378
9.2.8 求两个集合的差集 379
9.2.9 求集合的对称差集 379
9.2.10 求子集和超集 380
9.2.11 集合解析 383
9.3 序列化对象 384
复习题 389
第10章 类与面向对象编程 396
10.1 面向过程和面向对象编程 396
10.1.1 对象可重用性 397
10.1.2 一个常见的对象例子 397
10.2 类 398
10.2.1 类定义 399
10.2.2 隐藏属性 404
10.2.3 在模块中存储类 406
10.2.4 BankAccount类 408
10.2.5 _?_str_?_方法 410
10.3 使用实例 413
10.3.1 访问器和赋值器方法 417
10.3.2 传递对象作为参数 419
10.4 设计类的技巧 432
10.4.1 统一建模语言 432
10.4.2 使用类解决问题 432
10.4.3 确定一个类的责任 437
10.4.4 这仅仅是开始 440
复习题 440
在线资源一
第11章 继承
第12章 递归
第13章 GUI编程
第14章 数据库编程
附录A Python安装
附录B IDLE简介
附录C ASCII字符集
附录D 预定义颜色
附录E import语句详解
附录F 使用format()函数格式化数值输出
附录G 使用pip工具安装模块
附录H 检查点参考答案
一 请扫描本书前面衬纸上的二维码,在获取正版书官方授权后进行阅读。—编辑注

教学资源推荐
作者: [美]基普·欧文(Kip Irvine) 著
作者: [美]本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著
作者: 郑阿奇 主编 丁有和 等编著
作者: 骆斌 主编 邵栋 任桐炜 编著
参考读物推荐
作者: [美] 布迪·克尼亚万(Budi Kurniawan)著