Type Hints y Dataclasses: Código Robusto y Limpio
En versiones modernas de Python (3.7+), contamos con herramientas potentes para que nuestras estructuras de datos sean más claras y menos propensas a errores. Los Type Hints nos dicen qué tipo de dato esperar, y las Dataclasses eliminan el código repetitivo al crear clases.
1. Type Hints (Anotaciones de Tipo)
Python es un lenguaje de tipado dinámico, lo que significa que una variable puede cambiar de tipo. Sin embargo, en proyectos grandes, esto puede causar confusión. Los Type Hints nos permiten especificar qué tipo de dato debe recibir una función y qué debe devolver.
- Sintaxis:
variable: tipo = valor - Funciones:
def funcion(parametro: tipo) -> tipo_retorno:
2. Dataclasses: Clases Inteligentes
Escribir el método __init__, __repr__ y __eq__ para clases que solo guardan datos es aburrido y propenso a errores. Las Dataclasses automatizan todo este proceso con un simple decorador.
Beneficios:
- Código reducido: Escribes mucho menos que en una clase normal.
- Representación clara: Al imprimir el objeto, verás sus datos legibles automáticamente.
- Comparación: Puedes comparar dos objetos (
obj1 == obj2) por su contenido de inmediato.
Ejemplo Comparativo
En lugar de escribir una clase larga con un constructor manual, usamos el decorador @dataclass:
from dataclasses import dataclass
@dataclass
class Cliente:
nombre: str
id: int
Con solo esas líneas, Python ya creó el constructor por ti. Ahora puedes hacer: c = Cliente("Ana", 101).
Reto: Modelado de Empleados
Vamos a crear una estructura profesional para gestionar empleados usando estas herramientas.
Instrucciones:
- Importa
dataclassdesde el módulodataclasses. - Crea una Dataclass llamada
Empleado. - Define tres atributos con sus respectivos Type Hints:
nombrede tipo cadena (str).puestode tipo cadena (str).salariode tipo flotante (float).
- Crea una instancia de esta clase llamada
empcon los datos:"Luis","Developer",3500.0.
# Define tu estructura de datos moderna: