1 usuario conectado
Funciones.Argumentos posicionales y con nombre en Python
Funciones.Argumentos posicionales y con nombre en Python
Profundicemos en los argumentos
posicionales y los argumentos con nombre (también
conocidos como argumentos de palabra clave o keyword arguments) en Python, que
son las dos formas principales de pasar valores a los parámetros de una función
cuando la llamas.
Argumentos Posicionales:
Cuando llamas a una función utilizando argumentos
posicionales, los valores que proporcionas se asignan a los parámetros de la
función en el orden en que se definieron en la firma de la
función. La posición del argumento en la llamada determina a qué parámetro se
asigna.
Ejemplo:
En este caso, la función describir_persona
espera tres argumentos en un orden específico: nombre
, edad
,
y ciudad
. Cuando llamamos a la función con "Alicia"
,
30
, y "Madrid"
, estos valores se asignan a los
parámetros correspondientes basándose en su posición.
Problemas con los Argumentos
Posicionales:
- Dependencia del orden: Si
olvidas el orden correcto de los argumentos, puedes pasar los valores
incorrectos a los parámetros, lo que podría llevar a resultados inesperados
o errores.
- Menos legible: Cuando una
función tiene muchos parámetros posicionales, la llamada puede volverse
menos legible, ya que no queda claro qué representa cada valor sin consultar
la definición de la función.
Argumentos con Nombre (Keyword Arguments):
Cuando llamas a una función utilizando
argumentos con nombre, especificas el nombre del parámetro al que quieres pasar
el valor, utilizando la sintaxis parametro=valor
. El orden en el
que proporcionas los argumentos con nombre no importa, ya que
Python los empareja con los parámetros correspondientes por su nombre.
Ejemplo:
Aquí, aunque los argumentos se pasan en un orden
diferente al de la definición de la función, Python los asigna correctamente a
los parámetros nombre
, edad
, y ciudad
basándose en los nombres especificados en la llamada.
Ventajas de los Argumentos con Nombre:
- Mayor legibilidad: La
llamada a la función se vuelve más clara, ya que se indica explícitamente
qué valor se está pasando a cada parámetro.
- Flexibilidad en el orden:
No tienes que recordar el orden exacto de los parámetros al llamar a la
función.
- Omisión de argumentos opcionales:
Si una función tiene parámetros con valores por defecto, puedes omitir los
argumentos con nombre correspondientes si quieres usar los valores por
defecto.
Combinación de Argumentos Posicionales y
con Nombre:
Es posible combinar argumentos posicionales y
con nombre en una misma llamada a una función. Sin embargo, hay una regla
importante a seguir: los argumentos posicionales deben ir siempre antes
que los argumentos con nombre.
Ejemplo:
En resumen:
- Argumentos posicionales:
Se basan en el orden en que se pasan a la función y deben coincidir con el
orden de los parámetros en la definición.
- Argumentos con nombre (keyword
arguments): Se pasan utilizando la sintaxis
parametro=valor
y se emparejan con los parámetros por su nombre, lo que mejora la
legibilidad y permite flexibilidad en el orden.
- Al combinar ambos tipos, los argumentos
posicionales siempre deben preceder a los argumentos con nombre en la
llamada a la función.
Comprender y utilizar correctamente los
argumentos posicionales y con nombre te permitirá escribir funciones más
versátiles y llamadas a funciones más claras y robustas.