什么是对象和变量?
程序是指令的序列,通常作用于用户提供的信息(数据)。
创建、存储和操作这些数据的过程有助于计算新数据或最终结果。
变量是程序的基本构建块,它们提供了一种在程序生命周期中存储、访问和修改值的方法。
每个变量都有:
- 一个名称(句柄),
- 一个类型或数据类型(数据的种类),以及
- 一个值(实际数据)。
在像 Java 或 C++ 这样的传统编程语言中,变量的类型是预先定义的。
例如,如果你想在程序中使用值 1
,你可以将其存储在一个名为 a
的 int
类型变量中。
int a = 1;
这个 a
就好比一个固定尺寸(固定类型)的盒子,里面装着东西(值 1
)。
如果我们想改变盒子的内容,我们可以用类似的东西(相同类型)替换它。
a = 2;
这个盒子的内容可以被复制并放入一个类似的(相同类型)盒子中:
int b = a;
可以存在多个盒子,每个盒子包含一个具有相同值的物品。
int x = 3;
int y = 3;
int z = 3;
如上所示,那些在声明变量(命名的盒子)时同时声明其类型(盒子大小)的编程语言被称为静态类型语言。
这些盒子的大小在程序后期不能改变,除非用相同的名称和不同的类型重新初始化变量。
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
相同的对象,而不是创建一个新的副本。