日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python安装copy_python中copy和deepcopy 的区别

發布時間:2023/12/10 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python安装copy_python中copy和deepcopy 的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

請簡述賦值, 深拷貝和淺拷貝的區別?(python中如何拷貝一個對象?)

直接賦值(li1 = li): 只傳遞對象的引用, li1指向對象li的內存地址空間,

因此, 原有列表li改變, 被賦值的li1也會做相應的改變.

淺拷貝:li和li2的內存地址不同,

但是子對象的內存地址相同, 因此,原始數據改變 , 子對象也改變.\

深拷貝(import copy, eg: li3=copy.deepcopy(li)), li和li3的內存地址不同,

包含子對象的拷貝, 所以原始對象改變并不會造成深拷貝里面任何子項的改變.

當深拷貝和淺拷貝, 針對的對象全部是不可變數據類型時, 兩者效果相同; 當深拷貝和淺拷貝, 針對的對象包含是可變數據類型時, 兩者才有上述區別;

#所有的數值類型和布爾類型, str是不可變數據類型,

#list是可變數據類型;

#淺拷貝的實現:

#- li.copy()

#- li[:]

#- copy.copy(li)

#實現深拷貝:

#- copy.deepcopy(li)

如果copy.copy)拷貝的是元組,那么它不會進行淺拷貝,僅僅是指向

因為元組是不可變數據類型,那么意味著數據一定不能修改,

因此copy.copy()

的時候它會自動判斷是指向

如果,用copy.copy() copy.deepcopy()對一個全部是不可變類型

的數據進行數據拷貝的時候,那么它們的結果相同,都是引用

如果拷貝的是一個擁有可變類型的數據,那么deepcopy依然是深拷貝,

copy是淺拷貝

檔一個變量==xx的時候,約定為:指向地址的過程

淺拷貝:copy.copy()

深拷貝:copy.deepcopy()

總結

以上是生活随笔為你收集整理的python安装copy_python中copy和deepcopy 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。