20 - Argumentos posicionales, por palabra clave y por defecto

Lección 20 del curso Python Nivel Básico.

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.

Contenido exclusivo suscriptores

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:

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 textoy 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.

Contenido exclusivo suscriptores

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.

Ver todas las lecciones de este curso