4: Funciones
4.1 ¿Qué son las funciones y por qué usarlas?
Una función es un bloque de código que realiza una tarea específica. Piensa en una función como una receta: tiene un nombre, una serie de ingredientes (entradas) y un resultado (salida). Al definir una función, puedes reutilizar ese bloque de código tantas veces como lo necesites, sin tener que escribirlo de nuevo.
Ventajas de usar funciones:
- Reutilización de código: Evita repetir el mismo código una y otra vez. Si necesitas realizar la misma tarea en varias partes de tu programa, simplemente "llamas" a la función.
- Organización: Divide tu código en bloques lógicos más pequeños, haciéndolo más fácil de leer, entender y depurar.
- Mantenimiento: Si necesitas cambiar la lógica de una tarea, solo tienes que modificar la función en un solo lugar.
4.2 Definiendo y llamando funciones
Para definir una función, usamos la palabra clave def
, seguida del nombre de la función y paréntesis ()
. El bloque de código de la función debe estar indentado.
Ejemplo de una función simple
def saludar():
print("¡Hola, bienvenido al curso de Python!")
# Llamar a la función
saludar()
Funciones con parámetros
Las funciones pueden recibir información a través de parámetros, que son como variables que se definen al crear la función. Cuando llamas a la función, le pasas argumentos, que son los valores que se asignan a esos parámetros.
def saludar_a_persona(nombre):
print(f"¡Hola, {nombre}! Encantado de conocerte.")
# Llamar a la función con un argumento
saludar_a_persona("Ana")
# Llamar a la función con otro argumento
saludar_a_persona("Pedro")
Puedes tener múltiples parámetros en una función:
def sumar(a, b):
print(f"La suma de {a} y {b} es {a + b}.")
sumar(5, 3)
4.3 Retornando valores con return
A menudo, quieres que una función te devuelva un resultado para usarlo en otras partes de tu programa. Para eso usamos la palabra clave return
.
def multiplicar(a, b):
resultado = a * b
return resultado
# Llamar a la función y almacenar su resultado en una variable
producto = multiplicar(4, 6)
print(producto) # Salida: 24
Una vez que se ejecuta la sentencia return
, la función termina su ejecución. Puedes usar return
sin un valor para simplemente salir de la función.
4.4 Variables globales y locales
Las variables que creas dentro de una función tienen un alcance local; solo existen dentro de esa función. Las variables que creas fuera de cualquier función tienen un alcance global y se pueden usar en cualquier parte del programa.
# Variable global
nombre_curso = "Curso de Python"
def mostrar_curso():
# Variable local
leccion = "Funciones"
print(f"Estás en el {nombre_curso}, lección: {leccion}")
mostrar_curso()
# print(leccion) # Esto causaría un error, 'leccion' no está definida globalmente
Es una buena práctica evitar modificar variables globales desde dentro de una función. Si necesitas hacerlo, puedes usar la palabra clave global
, pero úsala con precaución para evitar confusiones en tu código.
contador = 0
def incrementar_contador():
global contador
contador += 1
incrementar_contador()
print(contador) # Salida: 1
Este módulo te ha enseñado a crear y usar funciones, una habilidad crucial para escribir código limpio y modular. En el próximo módulo, exploraremos la Programación Orientada a Objetos (POO), un paradigma que lleva la organización y la reutilización de código al siguiente nivel.