不可变类型(数字、字符串、元组、不可变集合)
可变类型(列表、字典、可变集合)
不可变对象
对象所指向的内存中的值不能被改变,当改变这个变量的时候,原来指向的内存中的值不变,变量不再指向原来的值,而是开辟一块新的内存,变量指向新的内存。
可以说成:
变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间。
实例
a = 'hello'
print(id(a))
a = 'hello' + 'word'
print(id(a))
输出结果:
2598921794928
2598953222384
可变对象
变量对应的值中的数据可以被修改,但内存地址保持不变。
实例
a = [1,2,3]
print(id(a))
a.append(4)
print(id(a))
输出结果:
1897151029896
1897151029896