Python中的淺拷貝、深拷貝和賦值之間有什麼區別?

賦值

= 創建對象的一個新的引用,內存地址相同。

淺拷貝

copy.copy()只拷貝對象本身,不會拷貝其內部的嵌套對象。
當值是不可變對象(數值、字符串、元組)時,同賦值。
當值是不可對象(列表、集合、字典)時,會產生一個“不那麼獨立的對象”。
分兩種情況:
1、對象中無嵌套對象時,新對象與對象互不影響,情況同深拷貝。
2、對象中有嵌套對象時,改變嵌套對象值時會同步修改,更改其他值互不影響。

深拷貝

copy.deepcopy()會拷貝對象本身及其所有的嵌套對象。
將原對象複製一份作爲新的獨立的個體存在,與原對象互不影響。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章