@marian.casella: Esto que parece un atributo normal en Python no lo es. Tiene lógica adentro. Sin @property, podés guardar un precio negativo y Python no dice nada. Con @property, cuando alguien asigna un valor, Python pasa por el setter primero — podés validar, transformar o loggear sin que quien usa la clase note ninguna diferencia. Guardalo 📌 — para la próxima vez que diseñes una clase.