Las funciones en Python son parte muy importante para un código limpio y bien desarrollado. Una función es un bloque de código reutilizable, al escribir funciones evitamos repetir varias veces el mismo "trozo" de código una y otra vez.
Definir una función
Antes de definir una función vamos a ver las partes de la misma. Empecemos con el nombre, asignaremos un nombre a una función segun la tarea que realice. Nombrar funciones no es una tarea facil, mientras estamos escribiendo el código dentro de la función puede que cambiemos de parecer sobre la acción que va a realizar. Te recomiendo que seas práctico y no dediques demasiado tiempo a pensar un nombre.
Si la función va a saludar a nuestro usuario, llamemosla saludar
.
pythondef saludar(): print("Hola")
Esta de arriba es una función en python. Vamos a darle nombre a las partes que componen su sintáxis para que sepas como escribir la tuya propia.
pythondef <nombre_funcion>(<parametros>): ...<código>... ...<código>... ...<código>...
Estas son las partes importantes de la función:
<nombre_funcion>
: El nombre de la función con el que nos referiremos a la misma más adelante. Debe de seguir unas reglas específicas de nombrado. Por ejemplo, no es válido que el nombre empiece con un número. Puedes curiosear (las reglas básicas de nombrado aquí)[https://peps.python.org/pep-0008/#function-and-variable-names], ojo no pierdas el foco, no es importante memorizarlas.<codigo>
: El bloque de código. Aqui escribimos el código python que realizará la funcion al ser llamada/ejecutada.
Los parámetros de la función
Las funciones pueden o no tener parámetros y estos se usan para dar un contexto a la ejecución de la función o dicho de otra forma, para pasar información a la misma.
Veamos como quedará la función saludar
pero esta vez pasamos el nombre de la persona que vamos a saludar como un parámetro.
python# ✅ Uso correcto de los parámetros de una función def saludaNombre(nombre): print("Hola", nombre)
Los parámetros permiten que al reutilizar una función esta realice la misma acción con datos diferentes. Por ejemplo, algo que no tendría sentído es tener dos funciones para saludar que realizan la misma acción:
python# ❌ Mal def saludaJuan(): print("Hola Juan") def saludaJuan(): print("Hola Pedro")
No tiene sentido hacer esto, porque principalmente escribimos funciones para ahorrarnos código, y aqui no estamos ahorrando nada. Menos codigo que leer, es menos codigo que mantener y que leer. Los programadores somos personas, y si podemos simplificar leer menos código, será mas facil trabajar con el.
Ejecutar una función
En el ejemplo anterior hemos definido una función. Pero la definición como tal no hace nada. Lo importante de una función es su ejecución. Para indicar que queremos ejecutar una funcion ponemos lo hacemos tal que así:
pythonsaludar()
En el caso de que la función tuviese parámetros, pasaremos los parámetros dentro de los paréntesis.
pythonsaludarNombre("Marc")
Múltiples parámetros
Podemos tener más de un parametro. Este sería un ejemplo:
pythondef calcula_suma(a,b,c): print(a+b+c)
La ejecutamos:
python# Se imprime el valor 35 calcula_suma(5,10,20)
En este caso, la funcion imprime el valor 35
por lo que llamamos consola
. En la literatura puedes encontrarte la consola
nombrada como terminal
, salida estándar
,
stdout
, etc. Todos los nombres se refieren a lo mismo.
Aunque imprimir por consola nos permite ver el resultado, no es un buen uso de las funciones. Otro de los usos que permiten las funciones es la composición de las mismas. Veamos más ejemplos.
Valor de retorno
Al ejecutar una función, al igual que insertamos datos en la función mediante parámetros, podemos recibir datos a su salida usando la instrucción return
.
pythondef calcula_suma(a,b,c): return a+b+c
En este caso, si queremos imprimir el resultado deberemos hacerlo de la siguiente forma:
pythonx = calcula_suma(5,10,20) print(x)
Funciones integradas en Python
Las funciones son tan importantes para la programación que los mismos lenguajes como en este caso Python tienen funciones integradas, que todo usuario conoce
y puede usar sin entender como funcionan, como por ejemplo print()
, max()
, len()
entre otras muchas. Están creadas para generar un entorno más simple
de trabajo a la hora de programar y no tener que estar creando todas nuestras funciones.
Ayuda para crear funciones
Algunas de las reglas básicas que te ayudarán a crear tus funciones:
- Parametriza las funciones siempre que puedas. Si tienes muchos parámetros en una función es posible que necesites dividir esa función en varias.
- Una función debe realizar una única acción. No intentes mezclar varias acciones en una misma función, separalas en varias funciones.
- Muchas líneas de código en una función puede ser síntoma que eso deben ser varias funciones.
Curso Python y Big Data
Curso Python y Big Data