浅拷贝

  • 使用方式

    import copy
    
    # 浅拷贝
    copy.copy()
    
  • 拷贝原则

    • 对可变类型对象进行浅拷贝, 只做顶层拷贝
    • 对不可变类型对象进行浅拷贝, 那么不拷贝

深拷贝

  • 使用方式

    import copy
    
    # 深拷贝
    copy.deepcopy()
    
  • 拷贝原则

    • 对可变类型对象进行深拷贝, 除了顶层拷贝,还会对该对象的子元素进行深拷贝
    • 对不可变类型对象进行深拷贝(递归思维,以递归出口为最终 是否执行拷贝操作的依据)
      • 如果该对象存在可变类型数据的子元素, 那么会顶层拷贝, 并且对其子元素进行深拷贝
      • 如果该对象不存在可变数据对象, 那么不拷贝