• python中的copy.copy和copy.deepcopy


    一个例子就搞清楚

    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 = ', b  
    print 'c = ', c  
    print 'd = ', d  
    
    输出结果: 
    a = [1, 2, 3, 4, ['a', 'b', 'c'], 5] 
    b = [1, 2, 3, 4, ['a', 'b', 'c'], 5] 
    c = [1, 2, 3, 4, ['a', 'b', 'c']] 
    d = [1, 2, 3, 4, ['a', 'b']]
    

    也可以这么理解,浅拷贝只引用了一级对象
    深拷贝很容易理解,可以理解为完全独立的两个东西了

  • 相关阅读:
    Java设计模式——单例模式
    Java设计模式——工厂模式
    多线程
    Collection集合
    内部类
    多态
    接口
    面向对象(2)
    数组
    面向对象(1)
  • 原文地址:https://www.cnblogs.com/nmap/p/9315970.html
Copyright © 2020-2023  润新知