Recolección de basura explicada (Python)

La recolección de basura es un término utilizado en la programación orientada a objetos no es exclusivo de python. Cuando está programando, crea todo tipo de objetos (incluidas variables como int, string, boolean, hashmap). Todos estos deben almacenarse en la memoria de la computadora, pero la mayoría de los programas nunca los eliminan.

Cuando haces un programa, puedes crear miles de objetos. Todos estos objetos tienen espacio en la memoria de su computadora. No desea administrar toda esa memoria manualmente, conozca la administración de memoria.

Introducción al recolector de basura en python

En los lenguajes de programación más antiguos, los desarrolladores tenían que eliminarlos de la memoria ellos mismos. Incluían funciones como malloc para registrar un bloque de memoria. Python, al ser un lenguaje de programación de alto nivel, hace esto por ti.

En Python, no necesita preocuparse por registrar bloques de memoria o eliminar cosas de la memoria. Python hace eso por ti, y esto se llama recolección de basura.

Recolección de basura (GC) es un tipo de gestión de memoria automática, en la que el recolector de basura recupera la memoria ocupada por objetos que ya no están en uso por el programa (por ejemplo, basura).

Los lenguajes de programación más antiguos a menudo tenían problemas como que la memoria se llenaba, ya que los desarrolladores a veces se olvidaban de borrar la memoria o tenían pérdidas de memoria. A veces, liberaban la memoria demasiado pronto, lo que provocaba que los programas fallaran.

Recolección de basura en Python

Python admite la recolección de basura, lo que significa que se encarga de la memoria por usted. Pero en algunos lenguajes de programación tienes que limpiar los objetos tú mismo (C, C++).

Puede eliminar objetos manualmente si lo desea, esto limpia la memoria de su computadora.
Para eliminar un objeto puede utilizar el del palabra clave.

Si el objeto ya no existe, obtiene el siguiente error:

>>> del my_object
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_object' is not defined
>>>

Todo es un objeto en Python: definimos una variable simple x y la usamos.
Durante el tiempo de ejecución, eliminamos el objeto e intentamos generarlo.

x = 3
print(x)
del x
print(x)

Esto generará:

3
Traceback (most recent call last):
  File "t.py", line 5, in <module>
    print(x)
NameError: name 'x' is not defined

En las primeras 2 líneas del programa se conoce el objeto x. Después de la eliminación de la
el objeto x ya no se puede imprimir.

La recolección de basura está completamente automatizada, no tiene que preocuparse por eso.

Los del() destructor se llama justo antes de que se destruya un objeto.

No dudes en revisar estas entradas sobre programación orientada a objetos python libro:

Los destructores se llaman cuando un objeto se destruye. Es el polo opuesto del constructor, que se invoca en la ...
Los objetos pueden llamar a métodos en python, que son métodos definidos en clases. Los métodos pueden modificar todas las ...
En Python todo es un objeto. Un objeto tiene cero o más métodos. Hasta ahora ya has trabajado con objetos ...
Un constructor en python es el primer método que se llama en la creación de objetos (un concepto de Programación ...
Los métodos de clase en python se pueden anular. Vamos a crear una clase padre y una clase. La clase ...
Los métodos estáticos en python no requieren la creación de objetos de una clase para ser llamados, se pueden llamar ...

¿ Te pareció de utilidad este articulo Recolección de basura explicada (Python)?
⬇️ Si compartes esta entrada otras personas podrán aprender.⬇️