高級二.深淺copy

1. ?==,is的使用

2.拷貝

? ? ? ? ? ? ?2.1 淺拷貝與深拷貝

? ? ? ? ? ? ? ? ? ? ? ? 淺拷貝是對于一個對象的頂層拷貝通俗的理解是:

????????拷貝了引用,并沒有拷貝內(nèi)容;(淺層無關(guān),深層與原數(shù)據(jù)有關(guān)聯(lián))

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 深拷貝是對于一個對象所有層次的拷貝(遞歸)。(與原來數(shù)據(jù)沒任何一點關(guān)系)

? ? ? ? ? ? 深淺拷貝對比:

?????????1.單層對比,沒任何區(qū)別。

?2.深層對比,有區(qū)別。原數(shù)據(jù)第一層變化對深淺copy無任何影響,

? ? ? 但原數(shù)據(jù)的深層次數(shù)據(jù)改變對淺copy有影響,淺copy會隨原數(shù)據(jù)變化,?而原數(shù)據(jù)變化對深copy無影響。

??3.元組的深淺拷貝

? ? ? ? ? ? ? ? ? ?1.單元組 ?如 a=(1,2,3)?深淺copy的其他指針(b,c)的地址(id)與a的id一樣 ? (因為元組不可更改)?

? ? ? ? ? ? ? ? ? ?2.元組內(nèi)部有其他可更改的數(shù)據(jù) ? 如 ?a=(1,2,3,[11,22,33]) ? ? 淺copy的指針(b)的地址(id)與a的一樣,?(因為淺copy只有第一層不隨原數(shù)據(jù)變化,而更深層的數(shù)據(jù)隨原數(shù)據(jù)變化,所以地址不變)

?深copy的指針(c)的地址(id)與a的不一樣,(因為深copy的深層數(shù)據(jù)不會隨原數(shù)據(jù)變化,所以地址變化)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容