Читать книгу El gran libro de Python - Marco Buttu - Страница 60
Definición de objeto
ОглавлениеLos objetos en Python son estructuras de datos generadas por el código en ejecución, a las cuales este se refiere. Precisamente, son las expresiones que generan o hacen referencia a los objetos.
Hasta que no se utilizan, los objetos se mantienen en la memoria del ordenador para que puedan ser llamados cuando sean necesarios; sin embargo, en el momento en que no hay ninguna etiqueta que hace referencia a ellos, un mecanismo singular, denominado recolector de basura (garbage collection), procede a liberar la memoria que ocupaban.
NOTA
Podemos gestionar el mecanismo del recolector de basura utilizando el módulo gc, que proporciona una interfaz para el mismo: http://docs.python.org/3/library/gc.html.
Los objetos tienen un tipo y una identidad. Podemos obtener el tipo de un objeto tanto mediante la clase integrada type como mediante el atributo _ _class_ _ del objeto:
La identidad del objeto, que en Python corresponde a su dirección en la memoria, es devuelta por la función integrada id():
Además, observamos que dos objetos diferentes tienen identidades distintas incluso teniendo el mismo valor:
NOTA
Cuando el intérprete encuentra los literales de los tipos mutables, por cuestiones de optimización (independientemente de la implementación), prefiere la reutilización de objetos ya existentes a la creación de otros nuevos, especialmente si se trata de objetos que ocupan poco espacio en memoria:
Cabe señalar que, el hecho de que cada estructura de datos generada por el código Python en ejecución sea un objeto, no significa que el único paradigma de programación soportado sea el de objetos. Como hemos dicho en la sección El estado del arte, Python es un lenguaje multiparadigma.