Destruktoren werden aufgerufen, unmittelbar bevor ein Objekt gelöscht (zerstört) wird.
Ein Destruktor in Python ist eine spezielle Methode, die aufgerufen wird, wenn ein Objekt einer Klasse zerstört wird, das heisst, wenn seine Lebensdauer endet und es aus dem Speicher entfernt wird.
Der Destruktor wird in Python mit der Methode del()
definiert.
Python hat eine eingebaute Speicherverwaltung und Garbage Collection, weshalb der Einsatz von Destruktoren in vielen Fällen nicht notwendig ist.
Ein Objekt „lebt“ solange mindestens eine Referenzvariable einen Verweis auf das Objekt enthält. Python zählt im Hintergrund, wie viele Referenzen auf ein Objekt existieren. Existiert auf ein Objekt keine Referenz mehr, wird der Dekonstruktor automatisch aufgerufen.
Hauptsächlich wird der Destruktor verwendet, um Ressourcen freizugeben, die das Objekt während seiner Lebensdauer verwendet hat (z.B. das Schliessen von Dateien oder Netzwerkverbindungen).
class MyClass: def __init__(self, name): self.name = name print(f'Objekt {self.name} wurde erstellt.') def __del__(self): print(f'Objekt {self.name} wird zerstört.') # Erstellen eines Objekts obj = MyClass('TestObjekt') # Löschen des Objekts del obj # Am Ende des Programms wird der Destruktor automatisch aufgerufen, # wenn das Objekt nicht mehr referenziert wird.
Dies ist der Konstruktor, der beim Erstellen eines Objekts aufgerufen wird. Hier wird das Objekt mit einem Namen initialisiert.