第 4 章 Python 对象类型介绍 Python 对象类型介绍
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
本章开始我们的 Python 语言之旅。从非正式的意义上讲,在 Python 中,我们用 "东西 "做事情。1"事情 "的形式是加法和连接等操作,而 "东西 "指的是我们执行这些操作的对象。在本书的这一部分,我们的重点是 "东西",以及我们的程序可以用它做的事情。
更正式地说,在 Python 中,数据是以对象的形式存在的--无论是Python 提供的内置对象,还是我们使用 Python 类或外部语言工具(如 C 扩展库)创建的对象。尽管我们稍后会确定这一定义,但对象本质上只是内存的一部分,具有值和相关操作集。正如我们将看到的,在 Python 脚本中,所有东西都是对象。即使是简单的数字也是对象,具有值 (如 99) 和支持的操作 (加法、减法等)。
因为对象也是 Python 编程中最基本的概念,我们将在本章开始时对 Python 的内置对象类型进行调查。在后面的章节中,我们将对本概览中略过的细节进行第二次介绍。在这里,我们的目标是简要介绍基础知识。
Python 概念层次结构
在进入代码之前,,让我们首先建立一个清晰的图景,了解本章是如何融入整个 Python 的。从更具体的角度来看,Python 程序可以分解为模块、语句、表达式和对象,如下所示:
程序由模块组成。
模块包含语句。
语句包含 表达式。
表达式创建和处理对象。
第 3 章对模块的讨论介绍了这一层次结构的最高级别。本部分各章将从最底层开始--探索内置对象和使用这些对象的表达式。
我们将在本书的下一部分继续学习语句,不过我们会发现,语句在很大程度上是为了管理我们在这里遇到的对象而存在的。此外,当我们在本书的 OOP 部分学习到类时,我们会发现它们允许我们通过使用和模仿我们将在这里探索的对象类型来定义我们自己的新对象类型。正因为如此,内置对象是所有 Python 旅程的必经登船点。
备注
传统的编程入门通常强调其三大支柱:顺序("先做这个,再做那个")、选择("如果那个为真,就做这个")和重复("多次做这个")。Python 在这三个方面都有工具,还有一些定义函数和类的工具。这些主题可能会在早期帮助您组织思维,但它们有点人为和简单化。例如,像 comprehensions 这样的表达式既是重复,也是选择;其中一些术语在 Python 中还有其他含义;而且许多后面的概念似乎根本不符合这个模式。在 Python 中,统一性更强的原则是对象,以及我们能用它们做什么。要了解原因,请继续阅读。
为什么使用内置类型?
如果您使用过 C 或 C++ 等低级语言,,您就会知道,您的大部分工作都集中在实现对象(,也称为数据结构)上,以表示应用程序域中的组件。您需要布局内存结构、管理内存分配、实现搜索和访问例程,等等。这些工作听起来很乏味(而且容易出错),而且通常会分散对程序真正目标的注意力。
在典型的 Python 程序中,这些繁琐的工作大都不复存在。 因为 Python 提供了强大的对象类型作为语言的固有部分,所以在开始解决问题之前,通常不需要编写对象实现的代码。事实上,除非您需要进行内置类型无法提供的特殊处理,否则您几乎总是最好使用内置对象,而不是实现您自己的对象。下面是一些原因:
内置对象让程序编写变得简单。对于简单的任务,内置类型往往就是你所需要的全部,可以用来表示问题域的结构。因为您可以免费获得强大的工具,如集合(列表)和搜索表(字典),您可以立即使用它们。仅用 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access