Python de Cero a Experto / POO
Reto: modela Mi Bolsillo con clases
Junta toda la POO en un modelo completo de Mi Bolsillo con clases: un Gasto (dataclass) y un Bolsillo
que los gestiona —agregar, calcular totales, agrupar por categoría, encapsular su estado—. Es exactamente
cómo se diseña una app de verdad: objetos que modelan las cosas del dominio y colaboran. Cuando termines,
tendrás un modelo orientado a objetos que podrías extender a una app real.
Reto
Modelo de Mi Bolsillo
Qué debes construir
Dos clases que modelan un gestor de gastos:
Gasto(usa@dataclass): camposnombre: str,valor: int,categoria: str = "otros". Con una propiedad calculadacon_iva(@property).Bolsillo: gestiona una lista de gastos (guardada como interna,_gastos). Con métodos:agregar(gasto): añade un gasto (valida que su valor sea positivo).total: propiedad calculada que suma todos los valores.por_categoria(): devuelve un diccionario{categoria: total}.mas_caro(): devuelve el gasto de mayor valor.__len__: cuántos gastos hay (para usarlen(bolsillo)).
- Un reporte que use el modelo.
Reglas
Gastoes una@dataclass;Bolsilloencapsula su lista (_gastos).totales una@property(se usa sin paréntesis);agregarvalida.- Usa lo que aprendiste: dataclass, property, un dunder (
__len__), comprehensions.
35:00
Cuando estés listo, arranca el reloj.
Qué sigue
Módulo 4 conquistado: dominas la POO en Python de punta a punta —clases, atributos, herencia, dunder
methods, properties, dataclasses y protocols—. Ya modelas el mundo con objetos, la base del software a
gran escala. El módulo 5 te lleva al Python INTERMEDIO: manejar errores con excepciones, trabajar con
archivos, los context managers (with), y formatos como JSON y CSV —las herramientas para que tus
programas interactúen con el mundo real de forma robusta—.