深、浅拷贝

这篇文章来给你们介绍一下python中的深浅拷贝一个对象,可是又不想对原对象产生反作用,那就不能经过赋值给新变量来解决,由于赋值不是拷贝一个对象。在python中专门提供了一种拷贝机制,基于原对象建立一个含有相同值的对模块提供。python

首先,拷贝分为深拷贝和浅拷贝,如今咱们详细说一下它们spa

浅拷贝是什么?对象

  • 浅拷贝是对于一个对象的顶层拷贝通俗的说,就像拷贝了文件夹,没有拷贝文件夹里的内容。

  

 

 

   如上图,a = b,这种方式赋值只是赋值的引用(内存地址),a和b都指向了同一个内存空间,因此它们的id相同(地址相同),这种就是浅拷贝blog

浅拷贝包括:递归

  • 对列表切片拷贝 L[:]
  • 调用对象的拷贝方法 list.copy()
  • 调用 copy.copy()

    import copy内存

    copy.copy             (浅拷贝,仅仅拷贝对象的第一层对象)       import

深拷贝是什么?变量

  • 拷贝全部内容. 包括内部的全部,造成一个新的对象,虽然与以前的值和内容如出一辙,可是它们完彻底全的两个对象,用deepcopy()

深拷贝包括:引用

  • 调用 copy.deepcopy()

     import copy方法

     copy.deepcopy     (深拷贝,会递归拷贝)   

相关文章
相关标签/搜索