logo cosasdedevs
Para qué sirve y cómo usar args y kwargs en Python

Para qué sirve y cómo usar args y kwargs en Python



My Profile
Oct 06, 2021

¡Hola! Este mes de octubre vamos a seguir dándole caña a Python y en el tutorial de esta semana vamos a ver como usar args y kwargs para enviar argumentos en Python 😎

En Python, tenemos dos formas de enviar argumentos en una función. La primera y la más conocida es enviarlos posicionalmente y la segunda es en formato clave-valor.

Para qué sirve args y kwargs

Args y kwargs, nos permitirá enviar un número dinámico de argumentos a una función. Esto nos puede venir bien cuando una función recibe demasiados argumentos y pierde legibilidad o cuando el número de argumentos pueda variar.

Uso de args en Python

Cuando enviamos los argumentos de forma posicional utilizaremos args. Al llamar a la función, enviaremos los parámetros de forma secuencial y en la definición de la función, añadiremos solo un argumento llamado args y que delante tendrá el carácter '*'. Aunque Python nos permite darle cualquier nombre, por convención, se recomienda utilizar el nombre args.

Ahora que hemos explicado como funciona args, vamos a verlo con un ejemplo. En el siguiente caso tenemos la función llamada user_data que recibe varios parámetros:

def user_data(name, surname, birthday, nif, address, position, company, email):
    pass

Como veis, son varios parámetros y podemos perder legibilidad. Si queremos utilizar args, haremos lo siguiente:

def user_data_args(*args):
    print(args)

user_data_args('Alberto', 'Ramírez Caballero', '23-11-1987', '0123456789X', 'Calle Sol, 2', 'Backend Dev', 'cosasdedevs', 'alberto@cosasdedevs.com')

La variable args contendrá una tupla con los argumentos ordenados por la posición en la que fueron enviados. Por ejemplo, el nombre estará en la posición 0, los apellidos en la posición 1 y así sucesivamente.

Después, podemos utilizar las asignaciones múltiples para guardar los valores en variables.

Uso de kwargs en Python

Python nos permite enviar pares de clave-valor cuando llamamos a una función. De esta forma, podremos ser más precisos a la hora de enviar parámetros y evitar confusiones. Cuando enviamos los argumentos en formato clave-valor, utilizaremos kwargs. Al llamar a la función, enviaremos los parámetros en formato clave-valor y en la definición de la función, añadiremos solo un argumento llamado kwargs y que delante tendrá el carácter '**'.

Al igual que con args, Python nos permite darle cualquier nombre, pero por convención, se recomienda utilizar el nombre kwargs.

Y ahora que hemos explicado como funciona kwargs, vamos a verlo con un ejemplo:

def user_data_kwargs(**kwargs):
    print(kwargs)

user_data_kwargs(name='Alberto', surname='Ramírez Caballero', birthday='23-11-1987', nif='0123456789X', address='Calle Sol, 2', position='Backend Dev', company='cosasdedevs', email='alberto@cosasdedevs.com')

Es el mismo caso que con args, pero aquí hemos usado kwargs. Al llamar a la función, enviamos los pares de clave-valor separados por comas y la función recibirá un diccionario con toda la información enviada.

 

Espero que este post te ayude y como siempre, te recomiendo seguirme en Twitter para estar al tanto de los nuevo contenido. Ahora también puedes seguirme en Instagram donde estoy subiendo tips, tutoriales en vídeo e información sobre herramientas para developers.

Por último os dejo mi guía para aprender a trabajar con APIs donde explico todo el funcionamiento de una API, el protocolo HTTP y veremos como construir una API con arquitectura REST.

Nos leemos 👋.

3949 vistas

🐍 Sígueme en Twitter

Si te gusta el contenido que subo y no quieres perderte nada, sígueme en Twitter y te avisaré cada vez que cree contenido nuevo 💪
Luego ¡Te sigo!

Nos tomamos en serio tu privacidad

Utilizamos cookies propias y de terceros para recopilar y analizar datos sobre la interacción de los usuarios con cosasdedevs.com. Ver política de cookies.