在python中有可变数据类型和不可变数据类型,这里的可变和不可变是指当变量改变的时候,数据的地址是否会改变.
不可变数据类型:不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象(即地址会被改变)
可变数据类型:允许变量的值发生变化(对象的地址不会改变)
不可变数据类型:元组,字符串,数值
可变数据类型:字典,列表,集合
数值的不可变是在python的机制中每一个数值都有一个地址,而元组,字符串不能够被修改或增加元素,当要修改改变元组和字符串的时候就要创建一个新的对象,就会拥有新的地址.
而可变的数据类型里面的元素是可以被改变的,被改变后的地址不会改变
s=[1,2,3]
print(id(s))
s.remove(1) #删除元素
print(id(s))
s.append('a') #增加元素
print(id(s))
s[1]='8' #修改元素
print(id(s))
这里的列表的地址不会被改变(没有新建对象),字典和集合同理也是这样