Saltar al contenido principal
Publicado el

Argumentos Flexibles en Python

Compartir:

Introducción

En Python, a menudo nos encontramos con situaciones en las que el número de argumentos que una función debe aceptar no es fijo. Para estos casos, Python ofrece una manera de definir funciones con argumentos flexibles.

Comprendiendo los Argumentos Flexibles

Los argumentos flexibles te permiten pasar un número arbitrario de argumentos a una función. Esto es especialmente útil cuando no sabemos de antemano cuántos argumentos deberán pasarse.

Sintaxis Básica

La sintaxis para definir una función con argumentos flexibles es sencilla: basta con anteponer el símbolo * al nombre del argumento.

def imprimirArgumentos(*argumentos):
  for argumento in argumentos:
    print('Argumento:', argumento)

imprimirArgumentos('Soy una cadena.', 1, 1.5, True, ['ABC', 'DEF', 'GHI'])

¿Cómo funciona?

Cuando antepones el símbolo * al nombre del argumento, este se trata como una tupla que puede contener cualquier número de valores. Por lo tanto, puedes pasar tantos argumentos como quieras a la función, y serán tratados como una única tupla.

Argumentos Flexibles y Argumentos con Nombre

Puedes combinar argumentos flexibles con argumentos con nombre. Sin embargo, los argumentos flexibles deben ir antes que los argumentos con nombre.

def imprimirDatos(*datos, nombre=None, edad=None):
  for dato in datos:
    print('Dato:', dato)

    if nombre:
      print('Nombre:', nombre)

    if edad:
      print('Edad:', edad)

imprimirDatos(1, 2, 3, nombre="Nelson", edad=28)

Conclusión

Los argumentos flexibles en Python son una herramienta poderosa para hacer tus funciones más adaptables y versátiles. Ofrecen una manera limpia y eficiente de manejar un número desconocido de argumentos, haciendo tu código más robusto y flexible.

Happy coding!