Saltearse al contenido

Clases y objetos

Python es un lenguaje con soporte a progrmacion orientado a objetos. Esto significa que puedes modelar elementos del mundo real como objetos que tienen propiedades (atributos) y comportamientos (métodos), utilizando clases como molde para crearlos.


Una clase es una plantilla o molde que se utiliza para crear objetos (instancias). Agrupa datos y funciones que operan sobre esos datos.

Definición de clase
class Producto:
    pass

En este ejemplo, Producto es el nombre de la clase. Por ahora, no tiene atributos ni métodos.


El método especial __init__ es el constructor de la clase. Se ejecuta automáticamente cuando creas una nueva instancia (objeto) y sirve para inicializar los atributos del objeto.

Constructor (__init__)
class Producto:
    def __init__(self, nombre, precio):
        self.nombre = nombre
        self.precio = precio

Cuando creas un nuevo producto con Producto("Zapato", 50), el método __init__ asigna "Zapato" a self.nombre y 50 a self.precio.


self es una referencia al propio objeto. Se utiliza dentro de los métodos de la clase para acceder o modificar los atributos y para llamar a otros métodos del mismo objeto. Siempre debe ser el primer parámetro de cualquier método de instancia, aunque no lo pasas explícitamente al llamar al método.

Uso de self
class Producto:
    def mostrar_info(self):
        print(self.nombre, self.precio)

Cuando llamas a p.mostrar_info(), Python pasa automáticamente el objeto p como argumento para self.


Veamos un ejemplo completo de cómo definir una clase, crear un objeto y usar sus métodos:

Ejemplo de clase Producto
class Producto:
    def __init__(self, nombre, precio):
        self.nombre = nombre
        self.precio = precio
    def mostrar_info(self):
        print(f'Producto: {self.nombre} | Precio: ${self.precio}')
# Crear un objeto
p1 = Producto('Camiseta', 25.99)
# Usar el método
p1.mostrar_info()

Salida:

Producto: Camiseta | Precio: $25.99

  • Una clase es un molde para crear objetos.
  • El método __init__ inicializa los atributos del objeto.
  • El parámetro self permite acceder a los atributos y métodos del propio objeto.
  • Puedes crear múltiples objetos a partir de una misma clase, cada uno con sus propios valores.

¿Listo para crear tus propias clases y objetos? ¡Practica modificando los ejemplos!