HOWTO · Python

La declaración `del` en Python

La palabra clave del se utiliza para eliminar objetos. Como todo en Python es un objeto, la palabra clave del se puede usar para eliminar todo en Python.

En esta página

En este tutorial, discutiremos el uso de la declaración del en Python.

La declaración del se utiliza para eliminar objetos. Debido a la naturaleza orientada a objetos de Python, todo lo que puede contener datos es un objeto. Entonces, la declaración del se puede usar para eliminar variables, objetos de clase, listas, etc.

La sintaxis de la declaración del es

del object_name

Funciona eliminando el object_name del espacio de nombres local y global.

Eliminar variables con la declaración del en Python

variable = "This is a variable"
print(variable)
del variable
print(variable)

Producción :

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

El programa anterior mostró el valor de variable y luego nos dio NameError. Esto se debe a que se ha eliminado variable del espacio de nombres después de usar la instrucción del.

Eliminar listas con la declaración del en Python

List = ["One", "Two", "Three"]
print(List)
del List
print(List)

Producción :

['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

Al igual que en el ejemplo anterior, el nombre List se ha eliminado del espacio de nombres.

También podemos dividir una lista usando la declaración del.

List = ["One", "Two", "Three"]
print(List)
del List[1]
print(List)

Producción :

['One', 'Two', 'Three']
['One', 'Three']

Elimina el elemento de la lista con el índice como 1.

Eliminar elemento de diccionario con la declaración del en Python

dictionary = {"key1": "value1", "key2": "value2", "key3": "value3"}
print(dictionary)
del dictionary["key2"]
print(dictionary)

Producción :

{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
{'key1': 'value1', 'key3': 'value3'}

Eliminar objetos de clase definidos por el usuario con la declaración del en Python

class MyClass:
    def myFunction(self):
        print("Hello")


class1 = MyClass()
class1.myFunction()
del class1
class1.myFunction()

Producción :

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