1) Qué resuelve `@dataclass`
Cuando una clase representa principalmente datos, dataclass ahorra boilerplate sin perder claridad.
Sin dataclass, escribir `__init__`, `__repr__` y comparaciones manualmente añade ruido y aumenta riesgo de inconsistencias.
Con `@dataclass`, declaras campos y Python genera partes repetitivas automáticamente.
Esto acelera desarrollo y mejora legibilidad en modelos DTO/entidades sencillas.
from dataclasses import dataclass
@dataclass
class Producto:
nombre: str
precio: float
stock: int = 0
print(Producto('Teclado', 39.9, 12))