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

Wie kopiere ich Objekte in Python?

WBOY
Freigeben: 2023-08-25 20:33:15
nach vorne
1418 Leute haben es durchsucht

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.
Nach dem Login kopieren

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

Kopiermodul nach der Installation verwenden −

import copy
Nach dem Login kopieren

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)
Nach dem Login kopieren

Ausgabe

List =  [[5, 10], [15, 20]]
New copy of the list = [[5, 10], [15, 20]]
Nach dem Login kopieren

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)
Nach dem Login kopieren

Ausgabe

List = [[5, 10], [15, 20]]
New copy of the list = [[5, 10], [15, 20]]
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage