- 可变对象: 列表、字典、集合
所谓可变是指可变对象的值可变,身份是不变的。
- 不可变对象:数字、字符串、元组
不可变对象就是对象的身份和值都不可变。新创建的对象被关联到原来的变量名,旧对象被丢弃,垃圾回收器会在适当的时机回收这些对象。
可变对象的引用赋值
可变对象保存的并不是真正的对象数据,而是对象的引用。当对可变对象进行赋值时,只是将可变对象中保存的引用指向了新的对象。
不可变对象的引用赋值
对不可变对象赋值,实际就是在内存中开辟一片空间指向新的对象,原不可变对象不会被修改。
如何区分深拷贝与浅拷贝
假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,反之则是深拷贝。
#深拷贝
B = A.copy()
#浅拷贝
B = A