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()函数}三人行
慕课
有详细教程