HOWTO · Python
Das del-Schlüsselwort in Python verwenden
Das Schlüsselwort del wird verwendet, um Objekte zu löschen. Da alles in Python ein Objekt ist, kann das Schlüsselwort del verwendet werden, um alles in Python zu löschen.
In diesem Tutorial werden wir die Verwendung der del-Anweisung (https://docs.python.org/3/tutorial/datastructures.html#the-del-statement) in Python besprechen.
Die del-Anweisung wird verwendet, um Objekte zu löschen. Aufgrund der objektorientierten Natur von Python ist alles, was Daten enthalten kann, ein Objekt. Die del-Anweisung kann also zum Löschen von Variablen, Klassenobjekten, Listen, etc. verwendet werden.
Die Syntax der del-Anweisung lautet
del object_name
Sie funktioniert, indem sie den object_name sowohl aus dem lokalen als auch aus dem globalen Namensraum entfernt.
Variablen löschen mit der del-Anweisung in Python
variable = "This is a variable"
print(variable)
del variable
print(variable)
Ausgabe:
This is a variable
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-f9a4f1b9bb9c> in <module>()
2 print(variable)
3 del variable
----> 4 print(variable)
NameError: name 'variable' is not defined
Das obige Programm zeigte den Wert von variable an und gab uns dann NameError. Das liegt daran, dass variable nach Verwendung der del-Anweisung aus dem Namensraum entfernt wurde.
Löschen von Listen mit der del-Anweisung in Python
List = ["One", "Two", "Three"]
print(List)
del List
print(List)
Ausgabe:
['One', 'Two', 'Three']
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-edd546e00a8e> in <module>()
2 print(List)
3 del List
----> 4 print(List)
NameError: name 'List' is not defined
Ähnlich wie im vorherigen Beispiel wurde der Name List aus dem Namensraum entfernt.
Wir können eine Liste auch mit der del-Anweisung zerschneiden.
List = ["One", "Two", "Three"]
print(List)
del List[1]
print(List)
Ausgabe:
['One', 'Two', 'Three']
['One', 'Three']
Es wird das Listenelement mit dem Index 1 gelöscht.
Löschen eines Dictionary-Elements mit der del-Anweisung in Python
dictionary = {"key1": "value1", "key2": "value2", "key3": "value3"}
print(dictionary)
del dictionary["key2"]
print(dictionary)
Ausgabe:
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
{'key1': 'value1', 'key3': 'value3'}
Löschen von benutzerdefinierten Klassenobjekten mit der del-Anweisung in Python
class MyClass:
def myFunction(self):
print("Hello")
class1 = MyClass()
class1.myFunction()
del class1
class1.myFunction()
Ausgabe:
Hello
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-23-26401eda690e> in <module>()
6 class1.myFunction()
7 del class1
----> 8 class1.myFunction()
NameError: name 'class1' is not defined