ホームページ >バックエンド開発 >Python チュートリアル >Pythonオブジェクトのディープコピーとシャローコピーについて詳しく解説
この記事の内容を「Python Core Programming 2」で拝見し、参考になると思い書きました!
浅いコピー
まず、オブジェクトをコピーするために 2 つのメソッドを使用します。1 つはスライスで、もう 1 つはファクトリメソッドです。次に、id 関数を使用して識別子を確認します
ディープコピー
上記はすべて浅いコピーであるため、コピーされたオブジェクトが独立しており、変更されたときに他の値に影響を与えないことが望まれます。これは深いコピーと呼ばれます。ディープ コピーを実装するには、コピー モジュールを参照する必要があります。コピー モジュールには 2 つの機能があり、1 つはコピー シャロー コピー、もう 1 つはディープコピー ディープ コピーです。
コピーする際の注意点は次のとおりです:
まず、非コンテナ型 (数値、文字列、およびコード、型、範囲オブジェクトなどの他の「ヤード」型オブジェクトなど) は、完全なスライス操作を使用してコピーされません。
2 番目に、祖先変数にアトミック タイプのオブジェクトのみが含まれている場合、その変数のディープ コピーは実行されません。
上記の例を Yuanzu に変更して、ディープ コピーを使用してみましょう