Al igual que en todos los lenguajes de programación, en Python tenemos disponible el uso de funciones. Aquí te mostraremos su concepto, las maneras en que puedes definirlas y algunos ejemplos para comenzar.
¿Qué es una función en Python?
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. Además, saber cómo generar funciones habla muy bien de la capacidad de abstracción de un programador, en tanto que es una de las habilidades técnicas más difíciles de consolidar en el desarrollo de software. Para que comiences en este camino, te daremos una guía básica de cómo definirlas.
¿Cómo definir una función en Python?
Para definir una función nueva en Python utiliza la palabra reservada def, seguida del nombre que le quieres dar a la función. A continuación, añade los paréntesis con los parámetros de entrada de la función seguidos de dos puntos (:). Después, normalmente en otra línea de código, agrega el bloque de instrucciones que quieres que se ejecuten cada vez que se invoca a la función.
Dentro de este bloque de instrucciones (casi siempre al final y de forma opcional) se coloca una sentencia de retorno que no es más que el valor que deseas que devuelva la función: para esto usa la palabra reservada return.
Una función en Python siempre devolverá un valor; es decir, si no se añade una sentencia de retorno (return), se devolverá el valor predeterminado None.
# ejemplo de definición de una función
def suma(a, b):
return a + b
result = suma(8,5)
# result = 13
También puedes definir valores predeterminados para los parámetros de entrada de tus funciones. Esto te permite indicar que dichos parámetros son opcionales, es decir, que pueden no ser informados al momento de invocar la función; sin embargo, como cuentan con parámetros por default previamente definidos, la función seguirá ejecutándose con normalidad.
def suma(a, b=8):
return a + b
result = suma(5)
# result = 13
Consideraciones adicionales acerca de las funciones en Python
Algunas consideraciones que debemos tener en cuenta al momento de crear y utilizar nuestras propias funciones en Python son:
- Siempre retornar un valor de respuesta.
- Definir valores por default para todos los parámetros de entrada que sea posible.
- Verificar que la cantidad de parámetros con que invocamos la función son los mismos que se definieron al momento de crear la función.
- Python es un lenguaje que utiliza la indentación para delimitar los bloques de código, por lo que tenemos que verificar que las líneas que queremos que pertenezcan a la función estén correctamente indentadas.
- Otra recomendación es utilizar solo variables locales y evitar el uso de variables globales para evitar comportamientos inesperados.
- Python es un lenguaje interpretado: aunque las líneas de código de la definición de la función contengan algún tipo de error, el intérprete de Python lo señalará hasta el momento en que se invoque la función.
8 ejemplos de funciones en Python
Aquí listamos algunos ejemplos de funciones incorporadas que nos proporciona Python:
1. Función print()
Imprime en la consola de comandos.
>>> print('¡Hola, mundo!')
¡Hola, mundo!
2. Función len()
Devuelve la longitud (el número de elementos) de un objeto.
>>> len(['a','b','c','d','e'])
5
>>> len('¡Hola, mundo!')
11
3. Función max()
Devuelve el elemento más grande en un iterable (todos los elementos deben ser del mismo tipo) o el más grande de dos o más argumentos.
>>> max(2, 3)
3
>>> max([1, 2, 3])
3
>>> max('a', 'b', 'c')
'c'
4. Función min()
Devuelve el elemento más pequeño en un iterable o el más pequeño de dos o más argumentos.
>>> min(2, 3)
2
>>> min([1, 2, 3])
1
>>> min('a', 'b', 'c')
'a'
5. Función divmod(a, b)
Devuelve el cociente y el sobrante de dividir dos números.
>>> divmod(5,2)
(2, 1)
>>> divmod(13.5,2.5)
(5.0, 1.0)
6. Función abs()
Retorna el valor absoluto de un número.
>>> abs(5)
5
>>> abs(-5)
5
7. Función complex(real, imag)
Retorna el número complejo con el valor real + imag*1j. También convierte una cadena o un número a un número complejo.
>>> complex(5,1)
(5+1j)
>>> complex('1+5j')
(1+5j)
>>> complex(5j)
5j
>>> complex(1+5j)
(1+5j)
>>> complex(1)(1+0j)
8. Función pow(base, exp)
Retorna base elevado a exp.
>>> pow(5,2)
25
>>> pow(5,-2)
# Result = 1/25
0.04
Conoce más temas sobre este lenguaje de programación en nuestro blog, como el procedimiento para crear un diccionario en Python.