Logo
Section 1 / 8

Python中的对象和变量

复习一下 Python 中对象和变量的一般工作原理。

导入

Python中的对象和变量

复习一下 Python 中对象和变量的一般工作原理。

如引言中所述,Python 中的函数是一等对象。这意味着函数是可被存储在变量中、作为列表或其他数据结构中的引用项、并能作为参数传入函数或作为返回值从函数中传出的对象。本章将更详细地探讨这一点。

Python 中的对象与变量

在讨论函数对象之前,我们先快速回顾一下 Python 中对象和变量的一般工作原理。
考虑以下简单的 Python 代码:

1a = 'apple' 2b = 'pear'

你可能会粗略地说,字符串 'apple' 存储在变量 a 中,字符串 'pear' 存储在变量 b 中。但这并不准确。实际上,这两个字符串都是 Python 在内存中存储的对象。变量 a 和 b 只是保存了对这些对象的引用,它们指向内存中的这些对象。下图展示了这一关系:

...
变量 'a' 和 'b' 指向字符串对象

这一点非常重要,因为当执行以下操作时会发生什么:

1a = b

此时,a 和 b 都指向值为 'pear' 的字符串对象,但关键在于,a 和 b 实际上都引用了内存中的同一个对象,如下图所示:

...
变量 'a' 和 'b' 都指向内存中的同一对象

之前的 'apple' 字符串仍然存在于内存中,但已无法再通过任何方式访问。Python 最终会释放其所占的内存,以便用于其他用途。

我们将在后续关于不可变数据类型的章节中再次讨论这一点。

简介

将函数引用存储在变量中