美文网首页
高级二.深浅copy

高级二.深浅copy

作者: 依旧丶森 | 来源:发表于2017-11-15 20:19 被阅读19次

1.  ==,is的使用

2.拷贝

             2.1 浅拷贝与深拷贝

                        浅拷贝是对于一个对象的顶层拷贝通俗的理解是:

        拷贝了引用,并没有拷贝内容;(浅层无关,深层与原数据有关联)

                                深拷贝是对于一个对象所有层次的拷贝(递归)。(与原来数据没任何一点关系)

            深浅拷贝对比:

         1.单层对比,没任何区别。

 2.深层对比,有区别。原数据第一层变化对深浅copy无任何影响,

      但原数据的深层次数据改变对浅copy有影响,浅copy会随原数据变化, 而原数据变化对深copy无影响。

  3.元组的深浅拷贝

                   1.单元组  如 a=(1,2,3) 深浅copy的其他指针(b,c)的地址(id)与a的id一样   (因为元组不可更改) 

                   2.元组内部有其他可更改的数据   如  a=(1,2,3,[11,22,33])     浅copy的指针(b)的地址(id)与a的一样, (因为浅copy只有第一层不随原数据变化,而更深层的数据随原数据变化,所以地址不变)

 深copy的指针(c)的地址(id)与a的不一样,(因为深copy的深层数据不会随原数据变化,所以地址变化)

相关文章

  • 高级二.深浅copy

    1. ==,is的使用 2.拷贝 2.1 浅拷贝与深拷贝 浅拷贝是对于一个对象...

  • 内存管理

    ARC MRC 属性 循环引用 深浅copy一 ,先说深浅copy概念很简单 浅copy 就是copy...

  • 深浅copy

    概念:浅拷贝:不拷贝对象,只拷贝对象指针,因此不会产生新的对象。深拷贝:拷贝对象到新的内存,因此会产生新的对象。 ...

  • 深浅copy

    深浅copy 浅拷贝:指针拷贝,复制一个新的指针,指向同一块内存区域。实际内存并没有发生拷贝 深拷贝:内容拷贝,拷...

  • Python的直接赋值,深拷贝和浅拷贝以及使用场景

    概述 深浅拷贝用法来自copy模块导入模块: import copy浅拷贝: copy.copy深拷贝: copy...

  • IOS深浅Copy

    御用占位图: 验证下:“单层深拷贝”,可以看到mutableCopy后的数组的地址发生了改变,但是里面的内容没有改...

  • Python——"is" , "==" and "深浅copy"

    1."is" 和 "=="的区别是什么? == 比较的是变量的值 is 比较的是变量的内存地址 例如 : a = ...

  • python——深浅copy

    通过下面的输出结果可以很好的看到: 1)深拷贝是直接复制了所有的父对象跟子对象,原来的不管怎么变都跟他没关系 2)...

  • python five day

    深浅拷贝浅拷贝只copy一层,深拷贝完全拷贝 shallow copy Deep copydeepcopy 集合 ...

  • copy是什么

    目录表 故事背景 问题定位 解决方案 原理 copy是什么 copy如何实现 copy底层实现 延展之深浅拷贝 集...

网友评论

      本文标题:高级二.深浅copy

      本文链接:https://www.haomeiwen.com/subject/liihvxtx.html