美文网首页
deepcopy 和 copy的区别?

deepcopy 和 copy的区别?

作者: Mlotjve | 来源:发表于2018-08-25 23:57 被阅读0次
    • copy 仅拷贝对象本身,而不拷贝对象中引用的其它对象。
    • deepcopy 除拷贝对象本身,而且拷贝对象中引用的其它对象。(子对象)
    image.png

    示例:

    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)
    
    
    output

    相关文章

      网友评论

          本文标题:deepcopy 和 copy的区别?

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