Profundización Avanzada sobre Funciones en Python | Cap 20

Lectura: 2 minutos

En nuestro curso de Cero a Héroe en Analítica de Datos con Python, seguimos explorando el fascinante mundo de las funciones. Si en el video anterior aprendiste los conceptos básicos, hoy llevaremos tu conocimiento al siguiente nivel con anotaciones de tipos, manejo de errores y argumentos flexibles.

Ver video

1. Funciones en Python: Tipos y Anotaciones

En Python, existen dos tipos principales de funciones:

  1. Funciones definidas por el usuario (con def).
  2. Funciones integradas (built-in) como print(), input(), int(), str(), etc.

Pero, ¿cómo podemos indicar el tipo de dato esperado en los argumentos de una función? Usando anotaciones de tipo:

def sumar(x: int, y: int) -> int:
    return x + y

📌 ¿Qué significa esto?

  • x: int → Esperamos que x sea un entero.
  • y: int → Esperamos que y también sea un entero.
  • -> int → La función retornará un entero.

¡Ojo! Estas anotaciones no restringen el tipo de dato (Python es dinámico), pero sirven como documentación para otros programadores.

2. Validación de Tipos con isinstance()

Si queremos forzar que los argumentos sean de un tipo específico, podemos usar isinstance() y manejar errores:

def sumar_robusta(x: int, y: int) -> int:
    if not isinstance(x, int) or not isinstance(y, int):
        raise TypeError("Los parámetros deben ser enteros.")
    return x + y

¿Cómo funciona?

  • isinstance(x, int) → Verifica si x es un entero.
  • Si no cumple, lanza un TypeError.

🔹 Ejemplo:

sumar_robusta(7, 8)  # ✅ Devuelve 15
sumar_robusta("Jaime", 10)  # ❌ Error: "Los parámetros deben ser enteros."

3. Funciones con Argumentos Flexibles

Argumentos Arbitrarios (*args)

Si no sabemos cuántos argumentos recibirá la función, usamos *args:

def suma_total(*numeros: int) -> int:
    return sum(numeros)

📌 Uso:

suma_total(1, 10, 50, 100, 70)  # ✅ Devuelve 231

Argumentos con Nombre (**kwargs)

Para recibir clave-valor (como diccionarios), usamos **kwargs:

def mostrar_informacion(**datos):
    for clave, valor in datos.items():
        print(f"{clave}: {valor}")

📌 Uso:

mostrar_informacion(nombre="Jaime", edad=30, país="Colombia")


Salida:

nombre: Jaime  
edad: 30  
país: Colombia  



En este video avanzamos en:
Anotaciones de tipo para claridad en el código.
Validación con isinstance() para evitar errores.
Funciones flexibles con *args y **kwargs.

🔗 ¿Quieres más? No olvides suscribirte a Tutoliber en YouTube y activar la campanita 🔔 para no perderte los próximos videos.

📢 ¡Déjanos tus dudas en los comentarios! ¿Qué otros temas te gustaría ver en el curso?

🚀 #Python #Programación #AnalíticaDeDatos #Tutoliber

👉 Ver video completo aquí

VIDEO

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 4.9 / 5. Recuento de votos: 876

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!