Curso de Python – 5. Funciones
Agrupar líneas de código para reutilizarlas varias veces, o para documentarlas en funcionalidades concretas cuyo nombre nos resume lo que hace el código sin tener que leerlo completamente.
Este artículo forma parte del curso completo de Python
Teoría
5.1- Función
Programar código no secuencial, es decir, programar trozos de código que se ejecutarán en otro momento con la programación funcional.
Para saber más en las siguientes entradas:
5.2- Función – Argumentos y Parámetros
Una función se puede comportar como una caja negra, con unas entradas y unas salidas; algo así como un motor, al que le tiene que entrar cierta cantidad de gasolina y sale movimiento. Los argumentos y parámetros serán la entrada de datos a la función.
Para saber más en las siguientes entradas:
5.3- Función – Alcance
El alcance de una función es un poco peculiar, pues el código no se ejecuta secuencialmente y en donde está escrito no es ejecutará de inmediato, sino más tarde. Esto quiere decir que los valores de las variables en un punto no serán los mismos que cuando se llame a la función.
5.4- Documentar Funciones
La función en sí misma ya es una forma de documentar código, pero se puede ir a más; dicho de otro modo, podremos documentar nuestro código profesionalmente.
5.5- Función Lambda
Las funciones tienen un nombre y se pueden ejecutar múltiples veces. No obstante, sobre todo en la programación por eventos, nos interesará que la función se ejecute una única vez y no nos interesará ni ponerle el nombre; esto lo conseguimos con Lambda.
Ejercicios
Ejercicio 5.1-cajero_automatico.py
Vamos a crear sistema de registros de un cajero automático.
Crearemos un método para imprimir cada una de las líneas que tenga de parámetro «fecha» y «concepto» como obligatorios, y «cantidad» será opcional, sino se pasa será 0 y «movimiento» si no se pasa nada será «Domiciliación»; además, si la «cantidad» es negativa hay que marcar dicha línea de algún modo (por ejemplo, poniendo al final la palabra «Déficit»).
La entrada de los datos tiene que ser directamente llamando al método y pasándole diferentes valores con las diferentes combinaciones para los argumentos que son opcionales.