¿Qué son KWARGS y ARGS?

Autor: | Última modificación: 10 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Te has preguntado qué son los asteriscos en una función o qué son KWARGS y ARGS? Dentro de los fundamentos de programación, hay una serie de funciones que se encargan de procesar datos de entrada, realizar un acción y devolver valores. En muchos de los problemas que se solucionan en lenguajes de programación como Python, hay funciones con un número variable de argumentos. Es ahí donde el programador debe saber qué son KWARGS y ARGS en Python.

Por tanto, en este post, queremos contarte qué son KWARGS y ARGS, cuál es su funcionalidad y cómo puedes utilizarlos en tus programas.

¿Qué son KWARGS y ARGS?

¿Qué son KWARGS y ARGS?

KWARGS

Para explicar qué son KWARGS y ARGS, vamos a comenzar por hablar de KWARGS, que es una de las formas para crear una función con un número variable de argumentos. Es necesaria cuando deseamos realizar una función que tenga los parámetros que deseamos, aunque no sean ni del mismo tipo o no tengan el mismo significado. Esta función aparece, comúnmente, con dos asteriscos **. KWARGS es un diccionario local con un número indeterminado de valores.

Para que su funcionalidad te quede mucho más clara, te mostramos el siguiente ejemplo, que plantea una función que lista las notas de un alumno de un curso de instituto para obtener su media:

# ¿Qué son KWARGS y ARGS?: Ejemplo 1
def boletin(**asignaturas):
    notas = []
    for asignatura, nota in asignaturas.items():
        print(asignatura, "-", nota)
        notas.append(nota)
    print("-" * 20)
    print("Media:", sum(notas) / len(notas))

boletin(lenguaje=10, matematicas=8, ingles=4)

En el ejemplo anterior se define una función boletín, por la que se pasará argumentos por pares clave valor, es decir, asignaturas. Aquí se observa como en Python utiliza la función KWARGS conformando un diccionario que se tItula asignaturas, es decir, la variable local del boletÍn. El diccionario está constituIdo por los pares lenguaje=10, matemáticas=8 e inglés=4. Después, Python procesa el diccionario en variables de cadena.

ARGS

Para continuar con la explicación de qué son KWARGS y ARGS, continuamos con ARGS.

Para crear una función con un número variable o indeterminado de parámetros, usualmente del mismo tipo, utilizamos la función *ARGS, que aparece solo con un asterisco, a diferencia de la función KWAGS. La necesidad surge, por ejemplo, en el cálculo de una media o al procesar una función con un número variable de argumentos. ARGS es una lista local con un número indeterminado de valores.

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Para que su funcionalidad te quede mucho más clara, tomaremos el siguiente ejemplo, que representa una función que devuelve la suma de varios números:

# ¿Qué son KWARGS y ARGS?: Ejemplo 2
def suma(*nums):
    total = 0 
    for num in nums:
        total += num
    return total

print(suma(4, 5, 6))

En el ejemplo anterior, se define una función con un número variable de parámetros, con un asterisco delante. Se observa cómo Python, a través de la función ARGS, toma los valores 4, 5, 6 y los copia a una lista llamada nums, que es la variable local en suma de la función. En el segundo paso, se procesa esa lista como lo que es, con los mismos valores mencionados (4, 5, 6) y sin poner el asterisco en primer lugar.

Y así, ya sabes qué son KWARGS y ARGS.

¿Cuál es el siguiente paso para implementar estas funciones?

Ahora que ya conoces qué son KWARDS y ARGS en el lenguaje de programación Python, puedes empezar a emplear estas funciones en la resolución de tus problemas en el campo de la programación. Para conocer más en profundidad cómo utilizar estas y otras funciones imprescindibles para tu camino como programador, no dudes en inscribirte en el Curso para aprender Programación desde Cero que ofrece KeepCoding.

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python, Java y Spring Boot en solo 6 meses.