热线电话:13121318867

登录
2020-06-05 阅读量: 872
深拷贝和浅拷贝的区别

在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。

1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用。拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制。

2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”。外围和内部元素都进行了拷贝对象本身,而不是引用。也就是,把对象复制一遍,并且该对象中引用的其他对象我也复制。

  • 对于不可变对象的深浅拷贝:

第一种=号浅拷贝

第二种copy浅拷贝

深拷贝

  • 对于可变对象深浅拷贝:

第一种=号浅拷贝

第二种copy浅拷贝

深拷贝

16.0801
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子