我们知道Python中常用的数据类型有:
-
Number(数字)
-
String(字符串)
-
bool(布尔类型)
-
List(列表)
-
Tuple(元组)
-
Set(集合)
-
Dictionary(字典)
在这六个标准数据类型中又分为不可变数据和可变数据:
-
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
-
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
不可变数据就是指:其一旦创建,其内容无法更改。任何试图修改这些对象的操作都会创建一个新的对象。
举几个例子来说:
x = 5
x = x + 1 # 这是重新赋值,并非修改原来的5,而是创建了一个新的值为6的x
s = "hello"
s[0] = "H" # 这是非法操作,会引发错误
# 报错信息如下:TypeError: 'str' object does not support item assignment
t = (1, 2, 3)
t[0] = 4 # 这是非法操作,会引发错误
因此,我们在使用不可变数据类型的过程中,每次修改都会创建一个新的对象,这意味着变量名将指向新的对象。这是通过重新赋值操作实现的。