转载自文章:
http://blog.youkuaiyun.com/m0_38008539/article/details/95201503
- 直接赋值相当于引用(别名),其父对象和子对象均指向指向同一个对象,所以a和b及里面的子列表,a与b任何一个改变都会随着改变。即直接赋值,无论做什么修改都会随着改变
- 浅拷贝:a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用).所以如果不是子列表再改变那么b不会随a变,只有a里面的子对象发生了改变b才会随着改变,可以看出,copy仅拷贝对象本身,不对其中的子对象进行拷贝,故对子对象的修改也会随着修改(针对嵌套的数据,即复合对象)
- 深拷贝:真正意义上的复制,即从新开辟一片空间, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。即,a不会随b改变,b也不会随a改变

本文详细解析了Python中直接赋值、浅拷贝和深拷贝的概念。直接赋值使两个变量指向同一对象,任何一方的修改都会影响另一方;浅拷贝创建新对象,但子对象仍引用原对象,子对象的修改会影响原对象;深拷贝则完全独立,修改互不影响。
1133

被折叠的 条评论
为什么被折叠?



