ホームページ  >  記事  >  バックエンド開発  >  Pythonでオブジェクトをコピーするにはどうすればよいですか?

Pythonでオブジェクトをコピーするにはどうすればよいですか?

WBOY
WBOY転載
2023-08-25 20:33:151374ブラウズ

Pythonでオブジェクトをコピーするにはどうすればよいですか?

Python では、オブジェクトをコピーしたい場合、代入演算子はその目的を果たしません。ターゲットとオブジェクトの間にバインディングを作成します。つまり、新しいオブジェクトを作成することはありません。元のオブジェクト参照を共有する新しい変数を作成するだけです。この問題を解決するために、レプリケーション モジュールが提供されています。このモジュールには、共通の浅いコピー操作と深いコピー操作があります。

浅いコピー

浅いコピーは、新しい複合オブジェクトを構築し、元のオブジェクトに参照を挿入します。次のメソッドを使用してオブジェクトをコピーします

リーリー

ディープコピー

ディープ コピーは、新しい複合オブジェクトを構築し、元のオブジェクト内のオブジェクトのコピーをその中に再帰的に挿入します。次のメソッドを使用してオブジェクトをコピーします。

リーリー

ディープ コピー操作を使用すると、次の問題が発生する可能性があります -

  • 再帰により、再帰ループが発生する可能性があります。

  • ディープ コピーはすべてをコピーするため、レプリカ間で共有したいデータなど、コピーしすぎる可能性があります。

ただし、deepcopy() メソッドを使用すると、これらの問題が回避されます。 −

方法を見てみましょう
  • 現在のコピープロセス中にコピーされたオブジェクトのメモディクショナリを保持します

  • ユーザー定義クラスがコピー操作またはコピーされたコンポーネントのセットをオーバーライドできるようにします。

コピーモジュールのインストールとインポート

コピー モジュールをインストールするには、pip −

を使用します。 リーリー

インストール後にコピーモジュールを使用します −

リーリー

浅いコピーを使用してオブジェクトをコピーする

###例###

シャローコピーを使用してオブジェクトをコピーします。新しいオブジェクトを作成して、元の要素への参照を保存します。例を見てみましょう

リーリー ###出力### リーリー 上の例では、copy() メソッドを使用してリストを浅くコピーしました。

ディープコピーを使用してオブジェクトをコピーする

###例###

deepcopy() メソッドを使用してオブジェクトをディープ コピーします。ディープ コピーでも新しいオブジェクトが作成されます。例を見てみましょう

リーリー ###出力### ああああ

以上がPythonでオブジェクトをコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。