20 - Argumentos posicionales, por palabra clave y por defecto
Lección 20 del curso Python Nivel Básico.
Tabla de contenido
Introducción
En la lección anterior vimos cómo crear una función en Python, y allí hablamos de los parámetros de entrada, que al momento de llamar la función reciben el nombre de argumentos.
En esta lección veremos dos posibles formas de presentar estos argumentos a la función: por posición y por palabra clave. Y además hablaremos de cómo asignar valores por defecto a estos argumentos.
Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Diferencia entre parámetros y argumentos
Antes de analizar las posibles formas de presentar los argumentos a una función, es importante aclarar las diferencias entre los conceptos de parámetro y argumento:
- Parámetros: son las variables de entrada que se encuentran dentro de los paréntesis al momento de definir la función.
- Argumentos: son los valores específicos que tomarán los parámetros al momento de llamar la función.
Teniendo claros estos dos conceptos, veamos los diferentes tipos de argumentos que puede aceptar una función en Python.
Argumentos posicionales
Son aquellos que deben ser presentados en el mismo orden que tienen los parámetros definidos en la función.
Por ejemplo, si al momento de definir la función escribimos def mostrar_texto_numero(texto,numero)
, entonces al momento de llamarla debemos introducir primero el argumento correspondiente a texto
y luego el argumento correspondiente a numero
: mostrar_texto('argumento texto', 5)
.
Si introducimos los parámetros en orden inverso la función seguirá interpretando texto
como el primer parámetro y numero
como el segundo parámetro. En este caso la función podría arrojar resultados inesperados o simplemente un error al momento de llamarla.
Argumentos por palabra clave
Si queremos pasar los argumentos en un orden arbitrario lo debemos hacer por palabra clave. En este caso, al llamar la función usamos pares nombre-valor.
Por ejemplo, al hacer el llamado mostrar_texto_numero(numero=5,texto='El número cinco se escribe como')
vemos que al escribir como primer argumento numero=5
le estamos indicando a Python: “la variable numero
(que posicionalmente está ubicada en segundo lugar en la definición) tendrá un valor igual a 5. Y al escribir el segundo argumento como texto='El número cinco se escribe como'
(que posicionalmente está ubicada en el primer lugar en la definición) será el string El número cinco se escribe como
.
Así que podemos ignorar la posición de los argumentos haciendo el llamado por palabra clave.
Argumentos por posición y por palabra clave
Podemos usar una combinación de las dos formas de llamado anteriores, presentando por ejemplo argumentos posicionales seguidos de argumentos por palabra clave, como en mostrar_texto_numero('El número cinco se escribe como', numero=5)
.
Argumentos por defecto
Finalmente, podemos asignar valores por defecto a todos o algunos de los parámetros en una función. De esta manera, si al llamarla no introducimos ningún argumento la función usará los valores por defecto asignados al momento de la definición.
Por ejemplo, en la definición def mostrar_texto_numero(texto='El número diez se escribe como', numero=10):
los valores por defecto para los parámetros texto
y numero
serán el string El número diez se escribe como
y el int 10
.
Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Conclusión
Acabamos de ver las diferentes maneras de presentar argumentos a una función en Python, pero hasta el momento hemos visto funciones limitadas a un número fijo de argumentos y con un sólo valor de retorno.
En la siguiente lección veremos cómo implementar funciones más versátiles, con un número arbitrario de argumentos y múltiples valores de retorno.