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

WBOY
リリース: 2023-08-25 20:33:15
転載
1404 人が閲覧しました

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

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

浅いコピー

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

リーリー

ディープコピー

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

リーリー

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

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

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

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

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

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

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

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

を使用します。 リーリー

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

リーリー

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

###例###

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

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

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

###例###

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

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

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

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート