不可变对象
不可变对象:针对的是值(数据内容)来说的,原来存放数据的内存地址里面的数据内容不可变,当数据更新的时候需要重新分配内存空间,因此地址会发生变化
不可变对象的地址的值是不能修改的,如果你修改了这个对象的值,它指向的地址也会变化。
如tuple,是不可变对象,代码会安全。在实际应用中,尽量使用不可变对象
i=73
print(type(i)) # <class 'int'>
print(i) # 73
print(id(i)) # 140716159082512
i+=2
print(type(i)) # <class 'int'>
print(i) # 75
print(id(i)) # 140716159082576
可变对象
# 列表
m=[5,9]
print(m)
print(id(m)) # 1790921573568
m+=[6]
print(m)
print(id(m)) # 1790921573568
# 集合
set1={1,2,'123'}
print(set1,type(set1),id(set1)) # {1, 2, '123'} <class 'set'> 2653344532512
set1.add(100)
print(set1,type(set1),id(set1)) # {100, 1, 2, '123'} <class 'set'> 2653344532512