2020-06-05
阅读量:
872
深拷贝和浅拷贝的区别
在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。
1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用。拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制。
2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”。外围和内部元素都进行了拷贝对象本身,而不是引用。也就是,把对象复制一遍,并且该对象中引用的其他对象我也复制。
- 对于不可变对象的深浅拷贝:
第一种=号浅拷贝

第二种copy浅拷贝

深拷贝

- 对于可变对象深浅拷贝:
第一种=号浅拷贝

第二种copy浅拷贝

深拷贝







评论(0)


暂无数据
推荐帖子
2条评论
6条评论
7条评论