Funciones en Python
Programación estructurada
Cuando se desarrollan o solucionan problemas reales, las soluciones pueden ser bastante largas
y requerir gran cantidad de líneas de código, muchas de éstas líneas se repiten a lo largo de todo
el código, para generar una estrategia de programar mas organizada y eficiente nace la
denominada programación estructurada, aparece el concepto de función que permite mejorar
la legibilidad del código, permite la reutilización de fragmentos de código (no volver a inventar la
rueda, si ya esta hecha solo hay que usarla), además de aumentar la eficiencia a la hora de
programar.
funciones
Una función no es mas que un fragmento
de código que puede ser llamado en
cualquier parte del programa y que
permite ahorrar a los programadores
tiempo y esfuerzo.
Para crear una función se utiliza la palabra
clave def seguido del nombre que se
asignará a la función, los paréntesis que
indican que es una función, los
parámetros que recibirá la función (la
funciones pueden o no tener parámetros)
y termina con :
Ejemplo función que suma dos números
Funciones con parámetros
El uso de parámetros hace que las funciones sean mas robustas y sean mas eficientes
Creemos la función suma pero ahora con parámetros:
Funciones con parámetros por defecto
En ocasiones es útil asignar un parámetro por defecto a las funciones, esto con el fin de no
obligar al programa a incluir un argumento a la hora de la llamada de la función, si el argumento
se incluye este reemplaza al parámetro que ha sido asignado por defecto, si el argumento no se
ingresa al llamar la función se tomará el parámetro que tiene por defecto.
Funciones lambda
Las funciones lambda o también llamadas funciones anónimas, son untipo de funciones en
Python que se definen en una sola línea y en donde el código a ejecutar suele ser muy pequeño.
Son ampliamente utilizadas para operar sobre tipos de datos como listas (Map, Reduce, Filter)
Documentación (tipado)
Sirve para aclarar los tipos de dato que ingresan o retorna una función, no afecta en nada como
tal a la función y están pensadas como una manera de documentar el código.
Funciones con múltiples parámetros
En ocasiones no se conoce la cantidad de parámetros que se van a ingresar a una función, en
este caso Python presenta la opción de colocar un “*” acompañado de la palabra clave args en
el listado de parámetros de la función ej: def suma(*args):
Función randint()
Dentro de todas las funciones que provee Python en sus librerías se encuentra la función randint(),
que permite generar un numero pseudoaleatorio dentro de un rango que se indique, este rango
corresponde a los parámetros ingresados a la función. Cada vez que se ejecute la función generará un
nuevo número.
Ejercicio 1
Crea un programa que determine si un número es primo o no. Deberás crear la función
esPrimo() que reciba como parámetro un número y devuelva True o False indicando si el número
es primo o no.
Ejercicio 2
Crea un programa que reciba un número del 1 al 20 introducido por el usuario y compruebe si
está dentro de la siguiente lista: [6,14,11,3,2,1,15,19]. Implementa una función que se asegure
que el número introducido por el usuario está en el rango indicado y otra que compruebe si está
dentro de la lista. Trata de crear las funciones de forma que puedan ser reutilizadas lo máximo
posible en otros programas.
Ejercicio 3
Crea un programa que genere un número aleatorio del 1 al 10. El usuario tendrá que adivinarlo,
y el programa tras cada intento le indicará al usuario si el número es más alto, bajo o si ha
acertado. La lógica para dar la respuesta al usuario deberá estar incluida en una función a la que
se llamará tras cada intento.
Referencias
Bahit, E. Python para todos, [Link]