Python深拷貝與淺拷貝區別

2022-09-04 17:06:11 字數 349 閱讀 6217

如list、dict等型別,改變容器內的值,容器位址不變。

如元組、字串,原則上不可改變值。如果要改變物件的值,是將物件指向的位址改變了

對於可變物件來說,開闢新的記憶體空間儲存容器物件,但不開闢新空間儲存容器的值,容器內部值的物件仍然指向原來的位址。即只對外層物件進行拷貝

不可變物件則將拷貝物件的值進行拷貝

對於可變物件,既開闢新的記憶體空間儲存容器物件,也開闢新空間儲存容器的值。也就是,既拷貝容器物件,也拷貝容器物件內部的值物件

不可變物件則將拷貝物件的值進行拷貝

Python深拷貝與淺拷貝的區別

說說python中深拷貝與淺拷貝的區別?答 python中如果需要拷貝物件,需要使用標準庫中的copy模組。而說到copy模組,不得不說的就是深拷貝與淺拷貝。深拷貝和淺拷貝需要注意的地方就是 可變元素的拷貝 在淺拷貝時,拷貝出來的新物件的位址和原物件是不一樣的,但是新物件裡面的可變元素 如列表 的位...

Python 淺拷貝與深拷貝

淺拷貝 構造方法或切片 做的是淺拷貝 即拷貝了最外層容器,副本中的元素是原容器中元素的引用 在 python 中,通過乙個物件向另外乙個物件賦值,實際僅僅是賦值了物件的引用,而非建立乙個物件並賦值。那如何真正拷貝物件呢?我們看一下兩種不同的拷貝方式。先從乙個示例看起 anndy anndy age ...

Python 淺拷貝與深拷貝

以下例項是使用 copy 模組的 copy.copy 淺拷貝 和 copy.deepcopy usr bin python coding utf 8 import copy a 1,2,3,4,a b 原始物件 b a 賦值,傳物件的引用 c copy.copy a 物件拷貝,淺拷貝 d copy....