Cuando trabajamos con funciones en programación, es fundamental entender cómo pasarles información para que realicen su tarea. A estos datos que enviamos se les conoce como argumentos, y existen diferentes formas de pasarlos.
En esta lección, te explicaré cuáles son los diferentes tipos de argumentos, cómo se usan y cuándo conviene utilizar cada uno.
Tipos de Argumentos
Cuando llamamos a una función, podemos pasarle información como argumentos. Hay dos maneras principales de hacerlo:
Argumentos Posicionales
Estos se pasan en el mismo orden en que la función los espera.
def truncate(texto, longitud):
return texto[:longitud]
# Llamamos la función con argumentos en el orden correcto
resultado = truncate("Mi texto", 3)
print(resultado) # Salida: "Mi "
En este caso, "Mi texto" se asocia con el parámetro texto, y 3 se asocia con longitud, porque los pasamos en el orden correcto.
Argumentos Nombrados
Aquí no importa el orden, porque indicamos explícitamente qué valor va con cada parámetro usando nombre=valor.
# Podemos cambiar el orden sin afectar el resultado
resultado = truncate(longitud=3, texto="Mi texto")
print(resultado) # Salida: "Mi "
Ambas llamadas a la función hacen exactamente lo mismo, pero la segunda es más clara, en especial cuando hay varios parámetros.
¿Cuándo Usar Cada Tipo?
Argumentos Posicionales
Son más cortos y funcionan bien cuando la función tiene pocos parámetros y el orden es fácil de recordar.
Argumentos Nombrados
Son útiles cuando:
- * Queremos código más legible, ya que el significado de cada argumento queda claro.
- * La función tiene muchos parámetros opcionales y solo necesitamos especificar algunos.
Mira el siguiente ejemplo de una función con valores predeterminados:
def print_params(a=1, b=2, c=None, d=4):
print(a, b, c, d)
# Llamada usando todos los argumentos posicionales
print_params(1, 2, None, 8) # Salida: 1 2 None 8
# Llamada usando solo el argumento d con un nombre
print_params(d=8) # Salida: 1 2 None 8 (los demás usan su valor predeterminado)
Como puedes ver, en la segunda llamada solo especificamos d=8 y los demás parámetros tomaron sus valores por defecto.
Combinación de Ambos Tipos
Podemos mezclar argumentos posicionales y nombrados en una misma llamada, pero los posicionales deben ir al inicio:
print_params(3, d=3)
# a toma el valor 3, b y c usan sus valores por defecto, y d vale 3
# Salida: 3 2 None 3
Esto nos da flexibilidad sin perder claridad en el código.
Resumen
- Los argumentos posicionales se pasan en el orden en que aparecen en la definición de la función.
- Los argumentos nombrados permiten especificar valores sin importar el orden.
- Los argumentos nombrados mejoran la legibilidad y son útiles cuando hay muchos parámetros opcionales.
- Se pueden combinar ambos tipos, pero los posicionales deben ir primero.
Con esta base, ahora puedes entender mejor código que usa argumentos nombrados. ¡Sigue explorando y practicando!
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.