关于赋值,浅拷贝与深拷贝的形象理解

赋值:旧瓶装旧酒
a = b,其中的ab指向同一块内存区域。

浅拷贝:新瓶装旧酒
a = b[:]或者a = b.copy(),其中的ab虽然不指向同一块内存区域,但是这两个容器内部所存储的数据的地址值(在Python中可以通过id()这个函数来访问到)是相同的。也就是说,我们上面的操作,即a = b[:]或者a = b.copy()并没有产生新的酒,只是产生了新的酒瓶。

深拷贝:新瓶装新酒
a = b.deepcopy(),我们既产生了新的酒瓶(ab),又产生了新的酒(酒指的是ab这两个容器里面存储的数据。经过深拷贝之后,它们内容相同,但是地址不同)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容