Python Destruktor

Vaibhhav Khetarpal 10 Oktober 2023
Python Destruktor

Destruktoren werden aufgerufen, wenn ein Python-Objekt bereinigt werden muss. Es hat im Grunde eine völlig entgegengesetzte Rolle eines Konstruktors und wird verwendet, um die Operationen umzukehren, die ein Konstruktor ausführt. Destruktoren werden hauptsächlich eingesetzt, um in einem Programm zu organisieren und die Standards für die Codierung zu implementieren.

Dieses Tutorial demonstriert die Verwendung eines Destruktors in Python.

Der Bedarf an Destruktoren in Python ist nicht so groß wie in anderen Programmiersprachen wie C++, da Pythons Garbage Collector automatisch die Speicherverwaltung übernimmt. In Python gibt es jedoch Destruktoren, und dieser Artikel erklärt ihre Verwendung und Funktionsweise.

Wir verwenden die Funktion __del__() als Destruktor in Python. Wenn der Programmierer die Funktion __del__() aufruft, werden alle Objektreferenzen entfernt, was als Garbage Collection bekannt ist.

Die Syntax für den Destruktor lautet wie folgt:

def __del__(self):
    # Write destructor body here

Die Vorteile der Verwendung von Destruktor in Python-Programmen sind unten aufgeführt.

  1. Speicherplatz wird freigegeben, da unnötige speicherverbrauchende Objekte automatisch gelöscht werden.
  2. Es ist einfach, da es automatisch aufgerufen wird.

Der folgende Code verwendet einen Destruktor in Python.

class Fruits:
    # Calling constructor
    def __init__(self):
        print("Fruits created.")

    # Calling destructor
    def __del__(self):
        print("Destructor called, Fruits deleted.")


obj = Fruits()
del obj

Der obige Code liefert die folgende Ausgabe:

Fruits created.
Destructor called, Fruits deleted.

Der obige Code zeigt, dass der Destruktor aufgerufen wurde, nachdem das Programm beendet wurde oder alle angegebenen Referenzen auf das Objekt gelöscht wurden. Dies bedeutet, dass der Wert des Referenzzählers für das angegebene Objekt nach einem bestimmten Zeitpunkt Null wird und nicht, wenn das angegebene Objekt den Gültigkeitsbereich verlässt.

Hier ist ein weiterer Code, der den Destruktor weiter erklärt.

class Fruits:
    def __del__(self):
        print("Fruits deleted")


a = Fruits()
del a
a = Fruits()
b = a
del b
del a

Im obigen Code ist eine Klasse Fruits definiert, und das Objekt a ist eine Referenz auf die Klasse, während das Objekt b eine lokale Kopie dieser Referenz a ist. Beim Löschen von b wird die Funktion nicht aufgerufen, da sie nur die lokale Kopie enthält und sonst nichts.

Sowohl Konstruktoren als auch Destruktoren sind in der Welt der Programmierung unverzichtbar, egal welche Sprache der Programmierer verwendet. Destruktoren spielen eine wichtige Rolle bei der Garbage Collection. Wir sehen vielleicht keine großen Änderungen in kleinen Codestücken, aber in komplexen Programmen und Codes auf Produktionsebene, bei denen die Speichernutzung eine große Priorität hat, ist die Bedeutung von Destruktoren ziemlich deutlich.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Verwandter Artikel - Python Class