📍 Inicio > Fundamentos > Clase 10
Las funciones son bloques de construcción: encapsulan una tarea con nombre y te permiten reutilizarla sin repetir código. Son la base para escalar desde scripts simples hasta proyectos serios.
- Reutilizas lógica y reduces duplicación.
- Haces tu código más legible y testeable.
- Controlas entradas (parámetros) y salidas (
return).
# Definición básica y parámetros def saludar(nombre): return f"Hola, {nombre}!" print(saludar("Brais")) # Hola, Brais! # Return vs print def suma(a, b): return a + b # devolver valores permite componer funciones resultado = suma(2, 3) print(resultado) # Parámetros por palabra clave y valores por defecto def enviar_email(dest, asunto, cuerpo="(vacío)"): print(f"Para: {dest} — {asunto} — {cuerpo}") enviar_email(dest="[email protected]", asunto="Hola") # *args y **kwargs def total(*nums, **opciones): t = sum(nums) if opciones.get("iva"): t *= 1.21 return t print(total(10, 20, 30, iva=True)) # Documentación (docstring) def dividir(a: float, b: float) -> float: """Divide a entre b. Lanza ValueError si b es 0. """ if b == 0: raise ValueError("b no puede ser 0") return a / b
- Escribe
es_palindromo(texto)que ignore espacios y mayúsculas. - Implementa
aplicar_descuento(precio, porcentaje=10)con validaciones.
- Definición:
def nombre(params): ... return valor - Parámetros: posicionales, palabra clave, por defecto,
*args,**kwargs - Docstrings: explican propósito, parámetros y retornos
- Tipado opcional:
def f(x: int) -> int:(ayuda a herramientas) returnvsprint: devuelve datos para componer;printsolo muestra
- Olvidar
return(la función devuelveNone). - Usar
printen vez de devolver valores dificulta tests. - Mutar argumentos mutables por defecto (usa
Noney crea dentro).
- Ejecuta
Basic/10_functions.pypara ver las demos.
- Código de referencia:
Basic/10_functions.py
- Diseñas funciones claras, con parámetros adecuados y retornos útiles.
- Clase 11: clases y objetos (modela entidades con comportamiento).
⬅️ Anterior: Clase 09 - Bucles | ⏭️ Siguiente: Clase 11 - Clases | 🏠 Volver al Índice