Saltar a contenido

Clases y objetos

Objetos

En un programa Python, todos los datos, variables y demás elementos, son objetos que pertenecen a una clase:

>>> type(123)
    <class 'int'>

>>> type("123")
    <class 'str'>

>>> type(print)
    <class 'builtin_function_or_method'>

Clases de usuario

Como sucede con las funciones, podemos crear nuestras propias clases:

Clases1.py
1
2
3
4
5
6
7
class Loro:
    pass

Poly = Loro()
Jenny = Loro()
print("Poly:", type(Poly))
print("Jenny:", type(Jenny))

Lo que muestra:

Poly: <class '__main__.Loro'>
Jenny: <class '__main__.Loro'>

Veamos una explicación de todo esto. Las clases se definen mediante:

class nombre :
    definición de métodos

El cuerpo de la clase lleva una lista de métodos. Como en este caso no definimos nada, nos limitamos a la sentencia pass.

Los objetos se crean llamando a una función constructora con el mismo nombre que la clase:

x = int(0)
texto = str(0)
Poly = Loro()

La función type() crea un objeto de la clase type, con información sobre un objeto. Al ser representado en forma de texto, muestra el nombre de la clase precedido por el nombre del módulo donde se define. Como nuestra clase Loro no ha sido definida en otro módulo, sino directamente en el programa, el nombre del módulo es _main_

Poly: <class '__main__.Loro'>
Jenny: <class '__main__.Loro'>