Skip to content

Python para principiantes. Funciones.

Posted on:November 18, 2023 at 07:00 AM

Bienvenidos, apasionados por la programación, a una nueva entrega de mi curso de ¡#Python para principiantes! En esta lección, nos vamos a sumergir en las funciones una herramienta clave para aprender a modularizar nuestro código, así que vamos a darle.

Consideraciones previas

Introducción a las Funciones

Una función es un bloque de código reutilizable que realiza una tarea específica. Imagina a las funciones como una máquina de producción industrial, la cual realiza un proceso o acción repetitiva por ti cada vez que la enciendes.

Maquina de montaje para imaginar así las funciones

En Python la sintaxis para crear una función es la siguiente:

def NOMBRE_DE_LA_FUNCION(PARAMETRO A RECIBIR):
	BLOQUE_CODIGO

Se escribe la palabra reservada def seguida del nombre de la función y los parámetros con los que va a trabajar entre paréntesis seguido del bloque de código que queremos que haga la función.

Características de las funciones en Python

Las funciones traen aspectos interesantes para nuestro código que voy a ejemplificar con situaciones culinarias 🍽️:

Llamar o inicializar una función

Vamos a crear una función muy sencilla que reciba el nombre de un usuario para así lo concatenemos y genere un saludo personalizado.

def saludo(nombre):
	print("Hola " + nombre)

Para poder hacer uso de una función solo hay que escribir el nombre de la función seguida de los paréntesis y dentro de ellos los parámetros (si son necesarios).

saludo("Pedro")
#RESULTADO: Hola Pedro

Recuerda que una función es una máquina que si no enciende no se va a poder utilizar, por eso es clave inicializarla cuando la necesites.

Imagen: Las maquinas de montaje funcionando

Asignar un valor por defecto a un parámetro

En ocasiones podemos encontrarnos ante la situación de que un usuario no proporcione ningún parámetro y si es requerido por la función, esta va a fallar parando el funcionamiento de todo nuestro código. Para prevenirlo podemos hacer lo siguiente:

def saludo(nombre = "Anónimo"):
	print("Hola " + nombre)

saludo("Martha") #RESULTADO: Hola Martha
saludo() #RESULTADO: Hola Anónimo

Tipos de parámetros para una función

Existen dos posibles tipos de parámetros que podemos proporcionarle a una función, los cuales son:

Parámetros posicionales

Aquí es muy importante el orden en que se pasan los parámetros. Es la manera más común con la que trabajamos con las funciones.

def suma(numero1, numero2):
	resultado = numero1 + numero2
	print(resultado)

suma(45, 20)

Parámetros con palabra clave (keyword arguments)

Aquí la posición no importa, pero lo que se hace es indicarle una clave para cada parámetro.

def suma(numero1, numero2):
	resultado = numero1 + numero2
	print(resultado)

suma(numero2 = 20, numero1 = 45)

Tipos de funciones

Vamos a diferenciar el tipo de funciones que nos podemos encontrar:

Funciones sin parámetros o vacías

Son aquellas que no requieren recibir ningún tipo de parámetro o input incluso sin necesidad de generar un output o return

def estacion_limpieza():
    """Esta función simula una estación de limpieza en una línea de montaje."""
    print("Limpieza completada.")

Funciones con retorno

Estas funciones reciben una entrada (inputs), realizan una tarea y devuelven un resultado (output). Para hacerlo se hace uso de la palabra reservada return. Tan pronto se ha devuelto un valor, la función finaliza su ejecución

def suma (numero1, numero2):
	resultado = numero1 + numero2
	return resultado

print(suma(4,5)) #RESULTADO: 9

Funciones con argumentos múltiples

En ocasiones no sabemos cuantos parámetros podemos recibir en nuestra función, para esos casos podemos hacer uso de:

Aunque te mencioné que args y kwargs no tienen que ser nombradas exactamente asi procura mantener esta convención ya que facilita la comprensión del código.

Ámbito de las variables (Scope)

Cuando trabajamos con las funciones es importante entender el concepto del scope el cual se refiere a la zona del programa donde una variable “existe.”. Fuera de ese ámbito no podremos acceder a su valor ni manejarla.

Lo anterior significa que los parámetros y las variables definidas en una función no serán accesibles fuera de la función, quedarán aislados en el llamado ámbito local, aquí los valores de las variables serán olvidados cada vez de se use la función.

Conclusiones

Las funciones resultan ser una herramienta indispensable para el programador en la búsqueda, modularizar para tener un código más organizado y eficiente, además hay algo a destacar las funciones son claves para el uso de paradigmas de programación como la Programación Orientada a Objetos.

Llegó el momento de tomar un rol más activo, pasemos a la sección de ejercicios prácticos. 👇🏽

Reto 🧑🏻‍🏭

  1. Crea un programa que determine si un número es primo o no. Deberás crear la función con el nombre de esPrimo() que reciba como parámetro un número y devuelva True o False.

  2. 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.

    Pista: Para generar los números aleatorios haz uso de la librería random

Si tienes alguna duda no dudes en escribirme en @arizamoisesco en X (Twitter).