Advertisement

Python运行时间和内存使用情况分析

阅读量:

1.深浅拷贝差别实验

首先直接上结论:

按照常规意义上的方式进行拷贝操作即所谓的"深复制品"指的是将 被复制品 的全部内容都被重新创建形成一个新的实体其特性与原有对象完全一致因此改变了原始对象并不会影响生成的新对象的状态

就如那些仅包含单一层次数据的数据体而言,在执行 shallow 复制与 deep 复制时并无差别。然而在复杂情形下例如嵌套列表中的对象则会体现出两者的差异性:在浅拷贝过程中所得出的子列表并没有真正地从源对象独立分离出来而仅仅是物理层面或引用层面的一次拷贝因此它们仍共享父对象的数据资源这种行为与我们传统上对复制概念的认知相悖

复制代码
 # -*-coding:utf-8 -*-

    
 import copy
    
 a = [1, 2, 3, 4, ['a', 'b']] #原始对象
    
  
    
 b = a #赋值,传对象的引用
    
 c = copy.copy(a) #对象拷贝,浅拷贝
    
 d = copy.deepcopy(a) #对象拷贝,深拷贝
    
  
    
 a.append(5) #修改对象a
    
 a[4].append('c') #修改对象a中的['a', 'b']数组对象
    
  
    
 print 'a = ', a
    
 print 'b = ', 

全部评论 (0)

还没有任何评论哟~