Modulo 5: Funciones y Modularización del Código

python-desde-cero/funciones-modularizacion-del-codigo
@yoezequiel 07-03-2025

1️⃣8️⃣ ¿Qué son las funciones y por qué usarlas?

🔹 ¿Qué es una función?

🔹 Beneficios de usar funciones

✅ Evitan la repetición de código.
✅ Facilitan la lectura y mantenimiento del código.
✅ Permiten dividir un problema en partes más pequeñas y manejables.
✅ Fomentan la reutilización del código en diferentes programas.

🔹 Ejemplo de código sin funciones (mala práctica)

print("Hola, Juan")
print("Hola, María")
print("Hola, Pedro")

🔹 Ejemplo con funciones (buena práctica)

def saludar(nombre):
    print(f"Hola, {nombre}")

saludar("Juan")
saludar("María")
saludar("Pedro")

1️⃣9️⃣ Definiendo funciones con def

🔹 Sintaxis básica de una función en Python

def nombre_de_la_funcion():
    # Código dentro de la función

🔹 Ejemplo de una función básica

def mensaje():
    print("¡Bienvenido al curso de Python!")

mensaje()  # Llamar a la función

🔹 Ejemplo con función que recibe parámetros

def saludar(nombre):
    print(f"Hola, {nombre}!")

saludar("Ana")
saludar("Carlos")

🔹 Reglas para definir funciones


2️⃣0️⃣ Parámetros y argumentos de una función

🔹 Parámetros vs. Argumentos

🔹 Ejemplo

def sumar(a, b):  # a y b son parámetros
    print(f"La suma es: {a + b}")

sumar(5, 3)  # 5 y 3 son argumentos
sumar(10, 7)

🔹 Tipos de argumentos en Python


2️⃣1️⃣ Retorno de valores con return

🔹 ¿Qué es return y para qué sirve?

🔹 Ejemplo sin return (mala práctica)

def cuadrado(numero):
    print(numero ** 2)  # Solo imprime, no devuelve nada

cuadrado(4)  # No se puede reutilizar el resultado

🔹 Ejemplo con return (buena práctica)

def cuadrado(numero):
    return numero ** 2  # Devuelve el valor

resultado = cuadrado(4)
print(f"El cuadrado de 4 es {resultado}")  # Ahora el valor puede usarse

2️⃣2️⃣ Funciones con valores por defecto y parámetros opcionales

🔹 ¿Qué es un parámetro con valor por defecto?

🔹 Ejemplo con valores por defecto

def saludar(nombre="Invitado"):
    print(f"Hola, {nombre}!")

saludar()  # Usa "Invitado"
saludar("Carlos")  # Usa "Carlos"

🔹 Ejemplo con múltiples parámetros y valores por defecto

def informacion(nombre, edad=18, ciudad="Buenos Aires"):
    print(f"Nombre: {nombre}, Edad: {edad}, Ciudad: {ciudad}")

informacion("Ana")  # Solo nombre
informacion("Carlos", 25)  # Nombre y edad
informacion("Sofía", 30, "Córdoba")  # Todos los valores

2️⃣3️⃣ Variables locales y globales

🔹 Variable local

🔹 Ejemplo de variable local

def mostrar_mensaje():
    mensaje = "Hola desde dentro de la función"  # Variable local
    print(mensaje)

mostrar_mensaje()
# print(mensaje)  # ❌ Esto daría error porque "mensaje" no existe fuera de la función

🔹 Variable global

🔹 Ejemplo de variable global

mensaje = "Hola desde fuera de la función"  # Variable global

def mostrar_mensaje():
    print(mensaje)  # Se puede acceder a la variable global

mostrar_mensaje()

🔹 Modificar una variable global dentro de una función (global)

contador = 0  # Variable global

def incrementar():
    global contador  # Se indica que queremos modificar la variable global
    contador += 1

incrementar()
print(contador)  # Salida: 1

Precaución: Usar demasiadas variables globales puede hacer que el código sea difícil de mantener y depurar.

Lección Anterior Curso Siguiente Lección