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