Der Python-Code-Stack: Wenn Sie jenes Objekt nicht mehr benötigen • Umgang mit Müll in Python
Python verwaltet als objektorientierte Sprache den Objektspeicher automatisch. Die Methode __del__ fungiert als Finalisierer, der aufgerufen wird, kurz bevor ein Objekt zerstört wird. Python-Objekte verfolgen ihre Referenzen, und wenn diese Anzahl auf null sinkt, wird das Objekt aus dem Speicher entfernt. Das Schlüsselwort del entfernt einen Namen (eine Referenz) auf ein Objekt, nicht das Objekt selbst. Das Löschen der letzten Referenz auf ein Objekt löst dessen Zerstörung aus. Zyklische Referenzen treten auf, wenn Objekte Referenzen aufeinander halten, wodurch ihre Referenzzähler nicht auf null sinken. Diese Situation führt zu Speicherlecks, wenn sie nicht behandelt wird. Pythons zyklischer Garbage Collector identifiziert und entfernt periodisch diese unerreichbaren, zyklisch referenzierten Objekte. Obwohl Programmierer den Speicher nicht manuell verwalten müssen, kann das Verständnis dieser Mechanismen bei der Diagnose des Programmverhaltens helfen. Das Erzwingen der Garbage Collection kann mit dem gc-Modul durchgeführt werden.
__del__fungiert als Finalisierer, der aufgerufen wird, kurz bevor ein Objekt zerstört wird. Python-Objekte verfolgen ihre Referenzen, und wenn diese Anzahl auf null sinkt, wird das Objekt aus dem Speicher entfernt. Das Schlüsselwortdelentfernt einen Namen (eine Referenz) auf ein Objekt, nicht das Objekt selbst. Das Löschen der letzten Referenz auf ein Objekt löst dessen Zerstörung aus. Zyklische Referenzen treten auf, wenn Objekte Referenzen aufeinander halten, wodurch ihre Referenzzähler nicht auf null sinken. Diese Situation führt zu Speicherlecks, wenn sie nicht behandelt wird. Pythons zyklischer Garbage Collector identifiziert und entfernt periodisch diese unerreichbaren, zyklisch referenzierten Objekte. Obwohl Programmierer den Speicher nicht manuell verwalten müssen, kann das Verständnis dieser Mechanismen bei der Diagnose des Programmverhaltens helfen. Das Erzwingen der Garbage Collection kann mit demgc-Modul durchgeführt werden.