Ich habe seit ein paar Tagen nach der richtigen Antwort auf diese Frage gesucht, aber nichts Gutes. Ich bin kein Anfänger in der Programmierung, aber noch nicht einmal auf der mittleren Ebene.
Wenn ich in der Shell von Python bin, tippe ich: dir()
und ich kann alle Namen aller Objekte im aktuellen Bereich (Hauptblock) sehen, es gibt 6 davon:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
Wenn ich dann beispielsweise eine Variable deklariere x = 10
, wird diese automatisch zu den Objektlisten unter dem integrierten Modul hinzugefügt dir()
. Wenn ich dir()
erneut tippe, wird jetzt Folgendes angezeigt:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']
Gleiches gilt für Funktionen, Klassen und so weiter.
Wie lösche ich all diese neuen Objekte, ohne den Standard 6 zu löschen, der zu Beginn verfügbar war?
Ich habe hier über "Speicherbereinigung", "Bereinigung der Konsole" gelesen, bei der der gesamte Text aus dem Eingabeaufforderungsfenster gelöscht wird:
>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()
Aber das alles hat nichts mit dem zu tun, was ich erreichen möchte. Es werden nicht alle verwendeten Objekte entfernt.
del
Funktion gibt. Ich fange an, Python zu lernen und muss oft in der Shell experimentieren, so dass Standardvariablennamen wie x
oder y
oft bereits verwendet werden und der Neustart der Shell weitere 15 Sekunden dauert (ich habe jetzt einen sehr, sehr alten Laptop). Deshalb wollte ich einen Weg finden, um den Python-Speicher schneller zu bereinigen.
del
ist nicht genau eine Funktion, daher nein (
und )
. Es ist ein Schlüsselwort, das eine del-Anweisung einführt. Natürlich kann das
x
oder y
sollten nicht verwendet werden, es sei denn, Sie verwenden sie. Oder wenn Sie nicht so etwas Dummes tun from _somemodule_ import *
, werden Sie alle Arten von Müll auf dem Platz haben. :)