Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

发布网友 发布时间:2022-03-24 02:08

我来回答

3个回答

懂视网 时间:2022-03-24 06:29

python深拷贝和浅拷贝的区别是:

  

  1、直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变。

  

  2、copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变。

  

  3、深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变。

  

  

热心网友 时间:2022-03-24 03:37

赋值(=):就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。
浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}
深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}

热心网友 时间:2022-03-24 04:55

首先赋值(=)
浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的yinyong{1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}
深拷贝:创建一个新的对象,并且递归的fu它所包含的对想{copy模块的deep.deepcopy()函数}三人行
慕课
有详细教程

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com