欢迎各界计算机爱好者加入,弘扬极客精神!

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

0 喜欢 0 不喜欢
最新提问 9月 15, 2016 分类:C# | 用户: ssss (132 分)  

2 个回答

0 喜欢 0 不喜欢
 
已采纳
简单的来说就是,在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存,采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误!
最新回答 9月 15, 2016 用户: 称霸幼稚园灬 (1,644 分)  
采纳于 9月 15, 2016 用户:ssss
0 喜欢 0 不喜欢

赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。

浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}

深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}

最新回答 9月 15, 2016 用户: Away (2,006 分)  
...