深拷贝与浅拷贝

  • 浅拷贝:拷贝引用
  • 深拷贝:拷贝内容
  1. 浅拷贝:

    a = [1, 2, 3]
    b = a 
    

    浅拷贝

  2. 深拷贝:

    c = copy.deepcopy(a)    
    

    深拷贝

  3. copy 模块的 copy() 方法和 deepcopy()方法

    copy 和 deepcopy 得区别在于复合对象的拷贝时

    copy 只对被拷贝对象进行拷贝,不对当前对象的引用对象进行拷贝

    deepcopy 对背靠背对象进行拷贝时 同时也对被拷贝的对象的引用对象进行递归拷贝,所以deepcopy使用会导致一些问题

    dcopy与deepcopy

    dcopy与deepcopy

  4. 当拷贝一个不可变类型时,拷贝得到的对象依然是被拷贝对象的引用

—— 结束 ——