ホームページ >バックエンド開発 >Python チュートリアル >Python における浅いコピーと深いコピーはどのように異なりますか?
Python でのオブジェクトのコピー
オブジェクトの独立したコピーを作成することは、プログラミングにおける一般的なタスクです。 Python では、オブジェクトをコピーする主な方法として、浅いコピーと深いコピーの 2 つの方法があります。
浅いコピー
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 中国語 Web サイトの他の関連記事を参照してください。