Skip to content

什么是对象和变量?

程序是指令的序列,通常作用于用户提供的信息(数据)。

创建、存储和操作这些数据的过程有助于计算新数据或最终结果。

变量是程序的基本构建块,它们提供了一种在程序生命周期中存储、访问和修改值的方法。

每个变量都有:

  • 一个名称(句柄),
  • 一个类型或数据类型(数据的种类),以及
  • 一个值(实际数据)。

在像 Java 或 C++ 这样的传统编程语言中,变量的类型是预先定义的。

例如,如果你想在程序中使用值 1,你可以将其存储在一个名为 aint 类型变量中。

int a = 1;

这个 a 就好比一个固定尺寸(固定类型)的盒子,里面装着东西(值 1)。

盒子 'a'

如果我们想改变盒子的内容,我们可以用类似的东西(相同类型)替换它。

a = 2;

装满的盒子 'a'

这个盒子的内容可以被复制并放入一个类似的(相同类型)盒子中:

int b = a;

复制盒子 'a' 的内容

可以存在多个盒子,每个盒子包含一个具有相同值的物品。

int x = 3;
int y = 3;
int z = 3;

盒子 'x', 'y' & 'z'

如上所示,那些在声明变量(命名的盒子)时同时声明其类型(盒子大小)的编程语言被称为静态类型语言。

这些盒子的大小在程序后期不能改变,除非用相同的名称和不同的类型重新初始化变量。

Python 是一种动态类型语言,其中每个值或数据项(任何类型,如数字、字符串等)都是一个对象。

变量名仅仅是指向包含任何类型数据的实际对象的名称标签。

由于在 Python 中使用变量前无需声明,因此不存在其他编程语言中存在的默认值(空盒子或 null)的概念。

每当在 Python 中创建一个新对象时,它都会被分配一个唯一的标识(ID),该 ID 在该对象的整个生命周期中保持不变。这个 ID 是对象在内存中的地址,内置函数 id() 返回此地址的值。

python
>>> a = 1
>>> id(a)
140407745943856
>>> a = 2
>>> id(a)
140407745943888

在上面的示例中,a 的 ID 发生了变化,因为它指向了一个新的对象 (2)。

python
>>> b = a
>>> id(b)
140407745943888

此外,当将 a 赋值给 b 时,b 指向与 a 相同的对象,而不是创建一个新的副本。