Python 中的淺複製和深複製有何不同?

Susan Sarandon
發布: 2024-11-07 05:22:03
原創
604 人瀏覽過

How do Shallow and Deep Copying Differ in Python?

在 Python 中複製物件

建立物件的獨立副本是程式設計中常見的任務。在Python中,複製物件主要有兩種方式:淺複製和深複製。

淺複製

Python預設的複製機制是淺複製。這意味著在建立一個新物件時會引用與原始物件相同的欄位。對新物件的欄位所做的任何變更也將反映在原始物件中。

深度複製

另一方面,深度複製會建立一個新物件具有與原始物件不同的欄位副本的物件。這意味著對新物件的欄位進行的任何更改都不會影響原始物件。

要在Python中取得物件的完全深層獨立副本,您可以使用副本.deepcopy() 函數。以下是一個範例:

<code class="python">import copy

# Original object
obj = {
    "name": "Alice",
    "age": 20
}

# Create a shallow copy
shallow_copy = obj

# Create a deep copy
deep_copy = copy.deepcopy(obj)

# Modify the shallow copy
shallow_copy["name"] = "Bob"

# Print the original and deep copy
print(obj)  # Output: {'name': 'Bob', 'age': 20}
print(deep_copy)  # Output: {'name': 'Alice', 'age': 20}</code>
登入後複製

如您所見,deep_copy 保留了物件的原始值,而shallow_copy 則受到對原始物件所做的變更的影響。

以上是Python 中的淺複製和深複製有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!