首頁/ 歷史/ 正文

python教程:深copy與淺copy

python教程:深copy與淺copy

在python中,物件賦值實際上是物件的引用。當建立一個物件,然後把它賦給另一個變數的時候,python並沒有複製這個物件,而只是複製了這個物件的引用。

1。 賦值

賦值其實只是傳遞物件引用,引用物件id是一樣的。原始列表改變,被賦值的b也會做相同的改變。

python教程:深copy與淺copy

2。淺複製

淺複製是指複製的只是原始物件元素的引用,換句話說,淺複製產生的物件本身是新的,但是它的內容不是新的,只是對原物件的一個引用。

python教程:深copy與淺copy

淺copy的幾種方式:

使用切片[:]操作進行複製

python教程:深copy與淺copy

使用工廠函式(如list/dir/set)等進行複製

python教程:深copy與淺copy

copy。copy()

python教程:深copy與淺copy

3。 深複製

深複製是指完全複製原始物件,而且產生的物件是新的,並且不受其他引用物件的操作影響。

深copy:

Names2 = copy。deepcopy(names)

python教程:深copy與淺copy

相關文章

頂部