Las funciones, son bloques de código que resuelven operaciones y manipulan datos para el logro de objetivos muy específicos dentro de una aplicación.
Generalmente, las funciones son un concepto presente en todos los lenguajes de programación, no solo en Python; y sirven, para encapsular la lógica de una operación que suele repetirse en diferentes lugares de una aplicación y pueden variar según su contexto y / o parámetros.
¿Cuándo crear funciones?
- Cuando escribes el mismo código varias veces.
- Cuando la lógica de un problema debe ser aplicada en diferentes lugares de la aplicación y lo único que varía son las características del problema.
Crear funciones con Python
La sintaxis de creación de una función en Python es la siguiente
def nombre_funcion(parametro_1, parametro_2, parametro_n):pass
Donde:
- def. Es la palabra especial para indicar que el bloque de código a continuación es una función.
- nombre_funcion. Nombre de la función para poder ser invocada en el lugar que se necesite de la aplicación.
- (). Encierra los parámetros que debe tener la función. Algunas funciones pueden tener o no tener parámetros; estos, varían según la necesidad de la función.
- “:”. Indica que de ahí en adelante se debe ejecutar un siguiente bloque de código.
- parametro_1, parametro_2, parametro_n. Es el listado de parámetros que necesita la función (Cuando la función requiere características).
- pass. Esta palabra, es para indicarle a Python que ahí existirá código pero que aún no se incluirá, es una especie de atajo para que la aplicación no falle y salte a la siguiente línea. La palabra clave “pass” no hace parte del concepto de funciones.
Los parámetros de las funciones modifican las características de la función.
En este punto, ya reconoces que una función es la reutilización de código que tiene una lógica para resolver un problema o alcanzar un objetivo. Sin embargo, estos problemas u objetivos no son los mismos y estos varían según sus características.
Por eso, es importante reconocer el concepto de los parámetros de una función. Estos, influyen para que los resultados sean diferentes a pesar de que se está utilizando una misma lógica.
Aspectos importantes para crear funciones con Python
- Las funciones en Python siempre inician con la palabra “def”.
- El nombre de la función no debe tener números, no debe tener caracteres especiales, no debe tener caracteres en mayúscula, y las frases compuestas, se separan de un “_” por ejemplo: “mi_funcion”.
- Las funciones deben construirse con el fin de lograr un único objetivo. Es decir, no debes crear una función que solucione dos problemas o plantee dos soluciones distintas.
- Dentro de los parámetros de una función, se pueden invocar así mismo otras funciones que retornen un valor necesario para la función.
- Una buena práctica a la hora de crear funciones con Python, es colocarlas en la parte superior del archivo .py. Es decir, primero se definen las variables y las funciones de ese documento. No te preocupes por el orden de las funciones.
- Si colocas la definición de una función debajo del lugar donde se invoca, el programa no va a funcionar.
Ejemplo de una función desarrollada con Python
Se desea imprimir un saludo mostrando un número que las personas ingresan previamente a través de un input.
opcion = int(input("Ingresa un número del 1 al 3 por favor: "))def saludo_cordial(parametro): print("Hola") print(parametro) print("Te doy un saludo cordial desde Escuela Wow.") if opcion == 1: saludo_cordial("Elegiste la opción 1.") elif opcion == 2: saludo_cordial("Elegiste la opción 2.") elif opcion == 3: saludo_cordial("Elegiste la opción 3.") else: print("Selecciona una opción correcta por favor.")
Explicación de las líneas de código
- Se define la variable “opcion” con el que se adquiere el número que ingresan las personas.
- Se define la función “saludo_cordial” que contiene las líneas de código que se ejecutan para dar el saludo. A través del parámetro “parametro”, se personaliza el mensaje con el número de la opción que ingresó la persona.
- Se genera una condicional para evaluar qué opción ingresó la persona y dependiendo de la opción se invoca la función “saludo_cordial” y dentro de los paréntesis, se ingresa el valor que debería ir dentro del parámetro para que el mensaje sea personalizado.
Crear función en Python utilizando el resultado de la función
Las funciones pueden retornar un valor de cualquier tipo. Supongamos que deseamos tener el valor resultado de una suma generada a través de una función.
def suma(a, b): print("Se realiza una suma") resultado = a + b return resultado resultado_de_funcion = suma(4, 5)print(resultado_de_funcion)
En Python con la palabra “return”, podemos retornar un valor como resultado de una función y poder utilizarlo en nuestras líneas de código u otras funciones.
Comprendiendo el concepto de métodos con Python
Los métodos son funciones especiales que se aplican a tipos de datos en particular.
Sintaxis de invocación de métodos en Python
variable.metodo()
- variable. Es la variable a la cual se le va a aplicar el método. Los métodos varían según los tipos de datos.
- “.”. Separador entre la variable y el método
- metodo(). Es el nombre del método con el cual se invoca la función.
Ejemplos
- Deseamos transformar en mayúsculas una cadena de caracteres
nombre = "esteban"print(nombre.upper())
El método .upper()
, transforma la cadena de caracteres en mayúsculas. Sin embargo, no se está almacenando el valor retornado por el método ya que solo se está invocando y no se está almacenando.
2. Deseamos tener en mayúscula solo la primera letra del nombre y almacenar ese resultado para mantener la transformación.
nombre = “esteban”nombre = nombre.capitalize()print(nombre)
En este ejemplo, a la variable nombre le asignamos nuevamente el resultado después de aplicarle el método.
Otros métodos para trabajar con cadenas de caracteres y textos en Python
.lower(). Este método sirve para transformar todos los caracteres a minúsculas.
.strip(). Método Python para eliminar espacios vacíos entre la cadena de caracteres.
.replace(para1, para2). Este método sirve para cambiar caracteres. El primer (para1) parámetro es la letra a cambiar y el segundo parámetro (para2) es la letra por la cual va a ser cambiada la letra seleccionada.
Las funciones Build In, son funciones que no creamos y que existen dentro del lenguaje de programación Python. Están disponibles para utilizarlas. Por ejemplo: input(), print(), len()