3. Creación de funciones

Antes de crear una función tenemos que hacernos las siguientes preguntas:

1) ¿Es necesario crear una función?
Crear una función es la mejor solución si:
  • Tenemos un fragmento de código que se usa en muchos sitios. En este caso, utilizar una función nos evitaría tener código repetido, y haría que modificarlo fuera más fácil, ya que bastaría con cambiar la función una vez.
  • Tenemos que escribir un código muy largo. Es mejor crear funciones que agrupen ciertos fragmentos de código en funcionalidades específicas, haciendo que el código resultante sea más fácil de leer.
  • No existe una función built-in que realice lo que necesitamos.
2) ¿Qué queremos que haga la función? ¿Cuál es el proceso?
Tenemos que definir claramente qué parte del problema o consigna tiene que ser resuelto por una función. 

3) ¿Qué valores (entradas) debe recibir la función para que realice lo que queremos?

4) ¿Qué tipo de resultados (salidas) ofrece la función? 
Tenemos que definir si la función solamente debe hacer alguna operación y mostrar el resultado, o si debe retornar algún valor para que sea utilizado en el resto del código.

¿Cómo crear una función en Python?

Cualquier función debe tener:

  • Un nombre que represente qué hace esa función.
  • Los argumentos de entrada: Los valores que la función debe recibir para poder operar correctamente.
  • El código a ejecutar (Proceso): Las operaciones o instrucciones que debe hacer.
  • Los parámetros de salida o valor de retorno: los resultados que la función debe mostrar o regresar.

Sintaxis

  • Para definir una función nueva en Python se utiliza la palabra reservada def seguida de un nombre y los argumentos de entrada entre paréntesis, y luego los dos puntos (:)
  • En la siguientes líneas (con la identación correspondiente), se escribe el conjunto de sentencias que debe realizar la función.
  • Finalmente, se utiliza la palabra clave return para devolver un valor si es necesario.


NOTA: LAS DECLARACIONES DE LAS FUNCIONES DEBEN ESTAR ANTES DEL CÓDIGO PRINCIPAL O MAIN SCRIPT!!!