编程语言
首页 > 编程语言> > Python中的浅拷贝、深拷贝和赋值之间有什么区别?

Python中的浅拷贝、深拷贝和赋值之间有什么区别?

作者:互联网

赋值

= 创建对象的一个新的引用,内存地址相同。

浅拷贝

copy.copy()只拷贝对象本身,不会拷贝其内部的嵌套对象。
当值是不可变对象(数值、字符串、元组)时,同赋值。
当值是不可对象(列表、集合、字典)时,会产生一个“不那么独立的对象”。
分两种情况:
1、对象中无嵌套对象时,新对象与对象互不影响,情况同深拷贝。
2、对象中有嵌套对象时,改变嵌套对象值时会同步修改,更改其他值互不影响。

深拷贝

copy.deepcopy()会拷贝对象本身及其所有的嵌套对象。
将原对象复制一份作为新的独立的个体存在,与原对象互不影响。

标签:嵌套,Python,对象,互不,拷贝,copy,赋值
来源: https://www.cnblogs.com/jiaoran/p/14307632.html