Sobes.tech
Middle+

Erzählen Sie mir vom Modul copy in Python. Was ist der Unterschied zwischen copy und deepcopy?

sobes.tech KI

Antwort von AI

Das Modul copy in Python stellt Funktionen zum Erstellen von Kopien von Objekten bereit. Hauptfunktionen:

  • copy.copy(obj) — flache Kopie.
  • copy.deepcopy(obj) — tiefe Kopie.

Unterschied zwischen copy und deepcopy:

  • Eine flache Kopie erstellt ein neues Objekt, aber die verschachtelten Objekte darin werden nicht kopiert, sondern nur auf die gleichen Objekte verwiesen wie im Original.
  • Eine tiefe Kopie kopiert rekursiv alle verschachtelten Objekte und erstellt eine vollständig unabhängige Kopie.

Beispiel:

import copy

original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)

original[1][0] = 'geändert'

print(shallow)  # [1, ['geändert', 3]] — verschachtelte Liste hat sich geändert
print(deep)     # [1, [2, 3]] — tiefe Kopie hat sich nicht geändert