首页 > 编程语言 > 详细

Python3-2020-测试开发-13- 深浅拷贝

时间:2020-05-09 19:26:40      阅读:35      评论:0      收藏:0      [点我收藏+]

一、定义

"""
浅拷贝和深拷贝

浅拷贝:不拷贝子对象的内容,只拷贝子对象的引用
深拷贝:会将子对象的内存也拷贝,对子对象的修改不会影响源对象
"""

 

 

二、具体实现

2.1  浅拷贝

import copy


def test_copy():

    a = [10,20,[60,70]]

    b = copy.copy(a)

    print("a-----:",a)     # a-----: [10, 20, [60, 70]]
    print("b-----:",b)     # b-----: [10, 20, [60, 70]]

    b.append(30)
    b[2].append(80)

    print("浅拷贝...")
    print("a-----:", a)    # a-----: [10, 20, [60, 70, 80]]
    print("b-----:", b)    # b-----: [10, 20, [60, 70, 80], 30]

修改b的时候,更改了a中的a[2]

技术分享图片

 

 

2.2  深拷贝

def test_deep_copy():

    a = [10,20,[60,70]]

    b = copy.deepcopy(a)

    print("a-----:",a)     # a-----: [10, 20, [60, 70]]
    print("b-----:",b)     # b-----: [10, 20, [60, 70]]

    b.append(30)
    b[2].append(80)

    print("深拷贝...")
    print("a-----:", a)    # a-----: [10, 20, [60, 70]]
    print("b-----:", b)    # b-----: [10, 20, [60, 70, 80], 30]

 

Python3-2020-测试开发-13- 深浅拷贝

原文:https://www.cnblogs.com/chushujin/p/12859531.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!