zoukankan      html  css  js  c++  java
  • python中的浅拷贝和深拷贝

    浅copy仅仅是对对象的引用,可以理解为是软连接。而深copy是新内存的开辟,他会重新创建内存块存放数据。
    简单例子说明:

    name_info = {'name':'jack','age':30,'hobby':['movie','football']}
    import copy
    name_info2 = copy.copy(name_info)
    name_info['hobby'][0] = 'music'
    print name_info2 
    print name_info
    In [256]: name_info
    Out[256]: {'age': 30, 'hobby': ['music', 'football'], 'name': 'jack'}
    
    In [257]: name_info2
    Out[257]: {'age': 30, 'hobby': ['music', 'football'], 'name': 'jack'}
    

      

    可以发现name_info和name_info2都一样,这个就是浅copy。

    name_info = {'name':'jack','age':30,'hobby':['movie','football']}
    import copy 
    name_info2 = copy.deepcopy(name_info)
    name_info['hobby'][0] = 'music'
    print name_info2 
    print name_info
    
    Out[262]: {'age': 30, 'hobby': ['movie', 'football'], 'name': 'jack'}
    
    In [263]: name_info
    Out[263]: {'age': 30, 'hobby': ['music', 'football'], 'name': 'jack'}
    

      

    可以发现name_info和name_info2是不一样的。

  • 相关阅读:
    Murano Weekly Meeting 2015.11.04
    Python pdb调试
    Neutron命令测试5
    Neutron命令测试4
    Neutron命令测试3
    Neutron命令测试2
    Neutron命令测试1
    Murano Weekly Meeting 2015.10.20
    Murano Weekly Meeting 2015.10.13
    wireshark分析dhcp过程
  • 原文地址:https://www.cnblogs.com/lin1/p/7805032.html
Copyright © 2011-2022 走看看