¿Cómo utilizar *args en las funciones de Python?
Capítulo 35: Explicación de *args fácil con ejemplos
Seguimos con las funciones. Esta vez verás como utilizar *args
en ellas, los conocidos como argumentos arbitrarios.
Esto nos permite poder pasar un número indeterminado de argumentos en las funciones.
Como utilizar *args en las funciones
Aquí tienes un ejemplo de como utilizar *args
:
def alumnos(*args):
print('El primer alumno es ' + args[0] + ' y el último es ' + args[3] + '.')
alumnos('Andrés', 'Ana', 'Andrea', 'Antonio')
Gracias a *args
es posible utilizar los argumentos de una forma tan flexible como esta de aquí.
Las posibilidades son infinitas.
Al escribir *args
como argumento, me da la posibilidad de utilizarlo cuando quiera dentro de la función.
En el print()
estoy llamando a los argumentos según su posición en la llamada (empieza a contar a partir de 0
).
El primer alumno es Andrés y el último es Antonio.
*args
es como un comodín con un número ilimitado de usos (al menos, no he llegado a encontrarle un límite), por ejemplo, si le pasas cuatro argumentos en la llamada como en el ejemplo, *args
equivale a cuatro argumentos.
Si no te queda del todo claro, te recomiendo ver el vídeo de este capítulo, ya que puede ser un poco abstracto la primera vez que ves algo así.
Ejercicios de Python
- ¿Cuántos argumentos se utilizan en cada una de estas llamadas?
- Completa el siguiente fragmento de código:
- Crea una función que realice la suma de cinco números utilizando solo
*args
. Debes imprimir el resultado en la consola. La suma no se realizará directamente sobre elprint()
.
def colores(*args):
pass
colores('rojo', 'azul', 'verde', 'amarillo')
colores('lila', 'negro', 'rojo')
colores('rosa')
colores('marrón', 'naranja')
def colores(*args):
print('El color', args[1], 'es mi favorito.', 'El color', args[0], 'tampoco está mal.')
colores()
La solución la encontrarás aquí: Ejercicios resueltos de Python.
Comentarios
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.