Parámetro y argumento en Python
El parámetro es el nombre de la entrada en la definición; el argumento es el valor concreto que envías al llamar.
Definición
En def saludar(nombre):, nombre es el parámetro: un nombre local que recibirá un dato. En saludar("Ana"), "Ana" es el argumento: el valor concreto de esa llamada.
Una función puede tener varios parámetros, y los argumentos se asocian por posición o por nombre, como en total(precio=4, unidades=3).
Ejemplo
def saludar(nombre, saludo="Hola"):
return f"{saludo}, {nombre}"
print(saludar("Ana"))
print(saludar("Leo", saludo="Buenas"))Al ejecutarlo, Python muestra:
Hola, Ana Buenas, Leo
Puedes copiar el ejemplo y cambiarlo en el editor Python del navegador: modificar un valor y predecir el resultado es la mejor forma de fijar el concepto.
Error frecuente
Enviar más o menos argumentos de los que la función espera produce TypeError. Un parámetro con valor por defecto, como saludo="Hola", puede omitirse al llamar.
Cómo se diferencia de otros conceptos
La confusión más habitual es usar las dos palabras como sinónimos. Piensa en una función como una receta: los parámetros son los huecos de la receta («una cantidad de harina») y los argumentos son los ingredientes concretos que usas cada vez («200 gramos»). Una definición tiene parámetros; una llamada tiene argumentos.
Preguntas frecuentes
¿Qué es un valor por defecto?
Un valor que el parámetro toma cuando no envías argumento, como saludo="Hola". Los parámetros con valor por defecto deben ir después de los obligatorios.
¿Qué error aparece si envío demasiados argumentos?
TypeError, con un mensaje que indica cuántos argumentos esperaba la función y cuántos recibió.
Dónde seguir
- Aprende el concepto paso a paso en la lección Haz entrar y salir datos de una función.
- Función: definición y ejemplo
- Variable: definición y ejemplo
- TypeError: qué significa y cómo corregirlo
- Ver todos los términos del glosario