zoukankan      html  css  js  c++  java
  • Python3-2020-测试开发-13- 深浅拷贝

    一、定义

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

    二、具体实现

    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]
  • 相关阅读:
    Informatica_(6)性能调优
    Informatica_(5)高级应用
    Informatica_(4)工作流
    Informatica_(3)组件
    Informatica_(2)第一个例子
    Informatica_(1)安装
    Linux_(4)Shell编程(下)
    Linux_(3)Shell编程(上)
    Linux_(2)基本命令(下)
    B
  • 原文地址:https://www.cnblogs.com/chushujin/p/12859531.html
Copyright © 2011-2022 走看看