Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kopiere ich Objekte in Python?

Wie kopiere ich Objekte in Python?

WBOY
WBOYnach vorne
2023-08-25 20:33:151375Durchsuche

Wie kopiere ich Objekte in Python?

Wenn Sie in Python ein Objekt kopieren möchten, erfüllt der Zuweisungsoperator seinen Zweck nicht. Es stellt eine Bindung zwischen dem Ziel und dem Objekt her, d. h. es erstellt niemals ein neues Objekt. Es wird lediglich eine neue Variable erstellt, die die ursprüngliche Objektreferenz gemeinsam nutzt. Um dieses Problem zu lösen, wird das Replikationsmodul bereitgestellt. Dieses Modul verfügt über gemeinsame Vorgänge zum flachen Kopieren und zum tiefen Kopieren.

Flache Kopie

Flache Kopie erstellt ein neues zusammengesetztes Objekt und fügt dann die Referenz in das Originalobjekt ein. Es kopiert Objekte mit

copy.copy(x)
Return a shallow copy of x.

Deep Copy

Deep Copy erstellt ein neues zusammengesetztes Objekt und fügt dann rekursiv Kopien der Objekte im Originalobjekt ein. Es kopiert Objekte mit den folgenden Methoden

copy.deepcopy(x[, memo])

Return a deep copy of x. Here, memo is a dictionary of objects already copied during the current copying pass;

Die folgenden Probleme können bei der Verwendung von Deep-Copy-Vorgängen auftreten -

  • Rekursion kann zu rekursiven Schleifen führen.

  • Da Deep Copy alles kopiert, ist es möglich, zu viel zu kopieren, beispielsweise Daten, die Sie zwischen Replikaten teilen möchten.

Die Methode deepcopy() vermeidet diese Probleme jedoch. Mal sehen, wie −

  • Behält während des aktuellen Kopiervorgangs ein Memo-Wörterbuch der kopierten Objekte bei

  • Erlauben Sie benutzerdefinierten Klassen, Kopiervorgänge oder kopierte Komponentensätze zu überschreiben.

Installieren und importieren Sie das Kopiermodul

Um das Kopiermodul zu installieren, verwenden Sie pip −

pip install copy

Kopiermodul nach der Installation verwenden −

import copy

Objekte mit flacher Kopie kopieren

Beispiel

Wir verwenden eine flache Kopie, um das Objekt zu kopieren. Es erstellt ein neues Objekt, um einen Verweis auf das ursprüngliche Element zu speichern. Sehen wir uns ein Beispiel an

import copy

# Create a List
myList = [[5, 10], [15, 20]]

# Display the list
print("List = ", myList)

# Shallow Copy
myList2 = copy.copy(myList)

# Display the copy of the List
print("New copy of the list =", myList2)

Ausgabe

List =  [[5, 10], [15, 20]]
New copy of the list = [[5, 10], [15, 20]]

Im obigen Beispiel haben wir mit der Methode copy() eine flache Kopie der Liste erstellt.

Objekte mit Deep Copy kopieren

Beispiel

Wir werden die Methode deepcopy() verwenden, um ein Objekt tief zu kopieren. Eine tiefe Kopie erstellt auch ein neues Objekt. Sehen wir uns ein Beispiel an

import copy

# Create a List
myList = [[5, 10], [15, 20]]

# Display the list
print("List = ", myList)

# Deep Copy
myList2 = copy.deepcopy(myList)

# Display the copy of the List
print("New copy of the list =", myList2)

Ausgabe

List = [[5, 10], [15, 20]]
New copy of the list = [[5, 10], [15, 20]]

Das obige ist der detaillierte Inhalt vonWie kopiere ich Objekte in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen