深、淺拷貝

這篇文章來給你們介紹一下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     (深拷貝,會遞歸拷貝)   

相關文章
相關標籤/搜索