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.
¿Qué es una clase?
Sección titulada «¿Qué es una clase?»Una clase es una plantilla o molde que se utiliza para crear objetos (instancias). Agrupa datos y funciones que operan sobre esos datos.
class Producto: pass
En este ejemplo, Producto
es el nombre de la clase. Por ahora, no tiene atributos ni métodos.
El método __init__
Sección titulada «El método __init__»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.
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
.
El parámetro self
Sección titulada «El parámetro self»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.
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
.
Ejemplo completo
Sección titulada «Ejemplo completo»Veamos un ejemplo completo de cómo definir una clase, crear un objeto y usar sus métodos:
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 objetop1 = Producto('Camiseta', 25.99)
# Usar el métodop1.mostrar_info()
Salida:
Producto: Camiseta | Precio: $25.99
Resumen
Sección titulada «Resumen»- 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!