Welche Methoden der Objektkopie kennen Sie?
sobes.tech KI
Antwort von AI
Flache und tiefe Kopie.
Eine flache Kopie (Shallow Copy) erstellt ein neues Objekt, aber die Referenzen auf die verschachtelten Objekte bleiben gleich. Änderungen an den verschachtelten Objekten des Originals wirken sich auch auf die Kopie aus und umgekehrt.
Eine tiefe Kopie (Deep Copy) erstellt eine vollständig unabhängige Kopie des Objekts, einschließlich aller verschachtelten Objekte. Änderungen an den verschachtelten Objekten des Originals beeinflussen die Kopie nicht.
Implementierungsbeispiele (Python):
# Flache Kopie
import copy
original_list = [1, 2, [3, 4]]
shallow_copy_list = copy.copy(original_list)
# Änderung eines verschachtelten Objekts im Original wirkt sich auf die Kopie aus
original_list[2][0] = 99
# shallow_copy_list ist jetzt [1, 2, [99, 4]]
# Tiefe Kopie
import copy
original_list = [1, 2, [3, 4]]
deep_copy_list = copy.deepcopy(original_list)
# Änderung eines verschachtelten Objekts im Original beeinflusst die Kopie nicht
original_list[2][0] = 99
# deep_copy_list bleibt [1, 2, [3, 4]]
Die Wahl der Methode hängt von der Struktur des Objekts und der Aufgabe ab. Für einfache Objekte ohne verschachtelte Referenzen reicht eine flache Kopie aus. Für komplexe Objekte oder wenn vollständige Unabhängigkeit der Kopie vom Original erforderlich ist, wird eine tiefe Kopie verwendet.