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:

Una Clase, en Programación Orientada a Objetos, puede tener atributos (a veces llamados variables o atributos). Los objetos creados a ...
Los métodos estáticos en python no requieren la creación de objetos de una clase para ser llamados, se pueden llamar ...
En Python, una clase puede heredar de más de una clase. Si una clase hereda, tiene los métodos y variables ...
Los objetos se pueden serializar: almacenar en un formato para su uso posterior. Una vez que se serializa un objeto, ...
Los métodos de clase en python se pueden anular. Vamos a crear una clase padre y una clase. La clase ...
En Python todo es un objeto. Un objeto tiene cero o más métodos. Hasta ahora ya has trabajado con objetos ...

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