Glosario de Python

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

ejemplo.py
def saludar(nombre, saludo="Hola"):
    return f"{saludo}, {nombre}"

print(saludar("Ana"))
print(saludar("Leo", saludo="Buenas"))

Al ejecutarlo, Python muestra:

Salida
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