Python では、オブジェクトをコピーしたい場合、代入演算子はその目的を果たしません。ターゲットとオブジェクトの間にバインディングを作成します。つまり、新しいオブジェクトを作成することはありません。元のオブジェクト参照を共有する新しい変数を作成するだけです。この問題を解決するために、レプリケーション モジュールが提供されています。このモジュールには、共通の浅いコピー操作と深いコピー操作があります。
浅いコピーは、新しい複合オブジェクトを構築し、元のオブジェクトに参照を挿入します。次のメソッドを使用してオブジェクトをコピーします −
リーリーディープ コピーは、新しい複合オブジェクトを構築し、元のオブジェクト内のオブジェクトのコピーをその中に再帰的に挿入します。次のメソッドを使用してオブジェクトをコピーします。 −
リーリーディープ コピー操作を使用すると、次の問題が発生する可能性があります -
再帰により、再帰ループが発生する可能性があります。
ディープ コピーはすべてをコピーするため、レプリカ間で共有したいデータなど、コピーしすぎる可能性があります。
ただし、deepcopy() メソッドを使用すると、これらの問題が回避されます。 −
方法を見てみましょう現在のコピープロセス中にコピーされたオブジェクトのメモディクショナリを保持します
ユーザー定義クラスがコピー操作またはコピーされたコンポーネントのセットをオーバーライドできるようにします。
コピー モジュールをインストールするには、pip −
を使用します。 リーリーインストール後にコピーモジュールを使用します −
リーリー− リーリー ###出力### リーリー 上の例では、copy() メソッドを使用してリストを浅くコピーしました。
deepcopy() メソッドを使用してオブジェクトをディープ コピーします。ディープ コピーでも新しいオブジェクトが作成されます。例を見てみましょう
− リーリー ###出力### ああああ以上がPythonでオブジェクトをコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。