Curso de python nivel medio
¿Qué son los parámetros indeterminados?
En Python, a veces no sabes de antemano cuántos argumentos necesitará recibir una función. Para manejar este tipo de situaciones, puedes usar parámetros indeterminados. Esto te permite definir funciones que aceptan una cantidad variable de argumentos.
Tipos de parámetros indeterminados
*args: Se usa para recibir una cantidad variable de argumentos posicionales. Los argumentos se pasan como una tupla.**kwargs: Se usa para recibir una cantidad variable de argumentos con nombre (o argumentos de palabra clave). Los argumentos se pasan como un diccionario.
Ejemplos de uso de parámetros indeterminados
1. Usando *args para parámetros posicionales
1def sumar_todos(*args): 2 suma = sum(args) 3 print(f"La suma de los números es: {suma}") 4 5# Llamar a la función con diferentes cantidades de argumentos 6sumar_todos(1, 2, 3) 7sumar_todos(5, 10, 15, 20)Salida de Consola!: La suma de los números es: 6 La suma de los números es: 50
- ¿Qué hace este código?:
- Define la función
sumar_todos(*args), que acepta una cantidad variable de números y los suma. - Se llama a la función con diferentes cantidades de números.
- Define la función
2. Usando **kwargs para parámetros con nombre
1def mostrar_informacion(**kwargs): 2 for clave, valor in kwargs.items(): 3 print(f"{clave}: {valor}") 4 5# Llamar a la función con diferentes cantidades de argumentos con nombre 6mostrar_informacion(nombre="Ana", edad=30) 7mostrar_informacion(nombre="Carlos", profesion="Ingeniero", ciudad="Madrid")Salida de Consola!: nombre: Ana edad: 30 nombre: Carlos profesion: Ingeniero ciudad: Madrid
- ¿Qué hace este código?:
- Define la función
mostrar_informacion(**kwargs), que acepta una cantidad variable de argumentos con nombre (clave-valor). - Se llama a la función con diferentes cantidades de argumentos con nombre.
- Define la función
3. Combinando *args y **kwargs en una función
1def combinar(*args, **kwargs): 2 print("Argumentos posicionales:", args) 3 print("Argumentos con nombre:", kwargs) 4 5# Llamar a la función con ambos tipos de argumentos 6combinar(1, 2, 3, nombre="Ana", edad=25)Salida de Consola!: Argumentos posicionales: (1, 2, 3) Argumentos con nombre: {'nombre': 'Ana', 'edad': 25}
- ¿Qué hace este código?:
- Define la función
combinar(*args, **kwargs), que acepta tanto una cantidad variable de argumentos posicionales como de argumentos con nombre. - Se llama a la función con ambos tipos de argumentos.
- Define la función
¿Por qué usar parámetros indeterminados?
Los parámetros indeterminados son útiles cuando:
- No sabes cuántos argumentos se necesitarán pasar a la función.
- Quieres que tu función sea más flexible y pueda manejar diferentes tipos de entradas.
Conclusión
El uso de *args y **kwargs te permite crear funciones muy flexibles en Python, capaces de manejar una cantidad variable de argumentos. Esto es especialmente útil cuando desarrollas funciones que deben ser reutilizables en diferentes contextos con diferentes cantidades de datos. ¡Practica usando *args y **kwargs en tus funciones para ver cómo puedes hacer que tu código sea más dinámico y adaptable!
- Loading...