1. Introducción

¿Qué es una función?

Una función en Python (y en cualquier otro lenguaje de programación) es un bloque de líneas de código o un conjunto de instrucciones cuya finalidad es realizar una tarea específica. Puede reutilizarse a voluntad para repetir dicha tarea.

Las funciones nos ayudan a que el código sea más fácil de leer y entender, porque evitan tener que repetir códigos dentro de un programa.

Anteriormente, usamos algunas funciones como, por ejemplo, max() para obtener el valor máximo de una lista. Si quisiéramos, en lugar de utilizar esta función, escribir todo el código para hallar el valor máximo, tendríamos que escribir todo lo siguiente: 


En lugar de tener que escribir todas estas líneas, simplemente llamamos a la función max() cada vez que sea necesario. Es por eso que una de las grandes ventajas de usar funciones es que reduce el número total de líneas de código.

Una función tiene tres componentes importantes:

  1.     los parámetros o argumentos que recibe , que son los valores que recibe la función como entrada y los utiliza.
  2.     el código de la función, que son las operaciones o procesos que hace la función.
  3.     el resultado (o valor de retorno), que es el valor final o salida  que entrega o regresa la función.


Recordemos el modelo computacional visto al inicio:



Observación: Hay un Estándar que establece las notaciones de las funciones:

https://docs.python.org/3/glossary.html#term-annotation

Vamos a resumirlas:

1) Una función puede recibir cero o mas argumentos

2) Una función puede no retornar nada o retornar varios argumentos

3) Los nombres de las funciones se escriben en minúsculas y no llevan espacios.

4) Los Argumentos pasados (al llamar)  son reemplazado respectivamente por los parámetros (lo que reciben) de la función ( el mismo orden).

Aquí se pueden ver mas dealltes sobres las funciones : https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones.html