Python中可变数据类型和不可变数据类型

Python中的数据类型总共分为:

Number(数字)、String(字符串)、Tuple(元组)、List(列表)、Sets(集合)、Dictionary(字典)

其中不可变数据(三个):

Number(数字)、String(字符串)、Tuple(元组)

可变数据(三个):
List(列表)、Sets(集合)、Dictionary(字典)

那么什么是不可变什么又是不可变,其实这里的可变和不可变指的是变量的内存空间地址是否能发生变化

我们定义一个变量 a 然后给它赋值2次,通过id()方法来观察它的内存地址

 

a = 5
print(id(a))
a = 10
print(id(a))

 

运行结果如下图,会发现a的内存地址发生了变化,所以不可变类型指的是重新赋值或者值发生改变的时候会开辟一个新的内存空间

然后变量a会指向新的内存地址,而不是在原有的内存上修改值

 

下面来看可变数据类型

 

lista = [1,2,3,4]
print(id(lista))
lista.append(100)  # 追加一个元素
print(id(lista))
print(lista)

 

运行结果如下,会发现 lista 的值发生变化后它的内存地址是没有发生改变的,所以可变数据类型指的是值发生改变的时候是在原有的内存之上直接修改的

 

 

 

posted @ 2020-05-21 21:06  熊猫可可Z  阅读(4151)  评论(0编辑  收藏  举报