关于Python中的深浅拷贝

Posted blackball9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Python中的深浅拷贝相关的知识,希望对你有一定的参考价值。

 之前一直认为浅拷贝是拷贝内容的第一层,但是不开辟内存,只是增加新的指向原来的内容;深拷贝是拷贝是拷贝每一层并开辟内存。

其实这个是不严谨的不正确的。

技术图片

 

 技术图片

 

 从以上可以看出,浅拷贝中当时可变类型的时候,内存是发生了变化的,也就是开辟了内存,但是不可变类型的时候内存地址不发生变化的。

总结:浅拷贝是对数据的内容进行拷贝,对不可变类型创建指向引用,可变类型开辟内存存储,但是只是拷贝第一层。深拷贝是拷贝数据的每一层的可变类型并开辟内存,但是不可变类型只是创建引用。

以上是关于关于Python中的深浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章

Python 第六天 深浅拷贝

python之set集合深浅拷贝

Python高级语法-深浅拷贝-总结(4.2.1)

浅谈关于java中的深浅拷贝

Python中的赋值与深浅拷贝

Python中的拷贝与深浅拷贝