Introducción a la Programación
Para entender bien los objetos debemos tener claras dos cuestiones fundamentales:
¿Cuándo y dónde existen los objetos?
Es importante tener claro que los objetos "existen" sólo durante la ejecución del programa y se almacenan en la memoria del sistema operativo.
Es decir, mientras las clases están ahí en el código haciendo su papel de instrucciones, los objetos no existen hasta que el programa se ejecuta y se crean en la memoria.
Este proceso de "crear" los objetos en la memoria se denomina instanciación y para realizarlo es tan fácil como llamar a la clase como si fuera una función:
una_masita = Masita()
otra_masita = Masita()
Demostrar que las masitas existen como "entes independientes" dentro de la memoria, es tan sencillo como imprimirlas por pantalla:
print(una_masita)
print(otra_masita)
<__main__.Masita object at 0x000001433B4C2048>
<__main__.Masita object at 0x000001433B439FD0>
Cada instancia tiene su propia referencia, demostrando que están en lugares distintos de la memoria. En cambio, la clase no tiene una referencia porque es sólo un guion de instrucciones:
print(Masita)
<class '__main__.Masita'>
Es posible consultar la clase de un objeto con la función type(), pero también se puede consultar a través de su atributo especial class:
print(Masita)
print(type(una_masita))
print(una_masita.__class__)
<class '__main__.Masita'>
<class '__main__.Masita'>
<class '__main__.Masita'>
A su vez las clases tienen un atributo especial name que nos devuelve su nombre en forma de cadena sin adornos:
print(Masita.__name__)
print(type(una_masita).__name__)
print(una_masita.__class__.__name__)
Masita
Masita
Masita
Resumiendo: los objetos son instancias de una clase.
¿Desea comenzar desde la última página vista?