深拷貝淺拷貝


淺拷貝:實際上只是對最外層對象進行了拷貝,而對內層對象則不進行拷貝,只增加了外層對象一份內存。
深拷貝:對內層對象進行遞歸拷貝,增加了所有的內層對象占用的內存。

對不可變類型(如元組)的特殊處理
具體表現為如果元組的元素是集合類型,則deepcopy依然進行遞歸拷貝,而copy不進行任何處理,同賦值語句一樣
對於如果元組內元素不是集合類型,Python又有一種特殊處理,即使是自定義類型,copy和deepcopy的效果是一樣的都相當於賦值語句

如果測試時使用的元素類型為int型或者str型,那么得到的結果可能不是這樣,
因為這是Python對int型和str型進行的特殊處理
深復制和淺復制都對字符串和整型數字有優化操作,在C#、OC中都存在,常被稱為“字符串駐留”,
Python中稱為intern機制,對於相同值的對象優化為指向內存中的一塊地址,而不再分配新的內存。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM