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.
Contenido
1. Funciones en Python: Tipos y Anotaciones
En Python, existen dos tipos principales de funciones:
- Funciones definidas por el usuario (con
def
). - 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 quex
sea un entero.y: int
→ Esperamos quey
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 six
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