Dux-Courses Evaluaciones
DOCUMENTATIONCOURSESROADMAPRANKINGBLOGPLAYGROUND
LoginSign Up
Aurum-Courses

Aurum Courses is an advanced learning and evaluation platform designed to accelerate your tech career. We provide an immersive environment filled with challenges, technical documentation, and verifyable certificates for frontend, backend, and fullstack technologies.

Platform Links

  • Interactive Courses
  • Technical Documentation
  • Tech Blog & Articles
  • Mi Perfil y Progreso

About the Project

  • About the Project
  • Contact & Support

Legal & Compliance

  • Privacy Policy
  • Terms of Service
  • Cookies Management
© 2026 Aurum-Courses. All rights reserved. Made with passion for the developer ecosystem.

Desarrollado por Aurumdux

Docs/Python/Funciones y Decoradores
Intermediopython

Funciones y Decoradores

Aprende a definir funciones, usar argumentos avanzados (*args, **kwargs) y crear decoradores.

Definicion de funciones

Las funciones en Python se definen con def. Pueden tener parametros por defecto y anotaciones de tipo.
python
1def saludar(nombre: str, formal: bool = False) -> str:
2    """Genera un saludo personalizado."""
3    if formal:
4        return f"Estimado/a {nombre}, es un placer."
5    return f"Hola, {nombre}."
6
7print(saludar("Ana"))
8print(saludar("Dr. Garcia", True))

*args y **kwargs

*args recibe argumentos posicionales como tupla. **kwargs recibe argumentos con nombre como diccionario.
python
1def crear_perfil(nombre, *habilidades, **info):
2    perfil = {"nombre": nombre, "habilidades": habilidades}
3    perfil.update(info)
4    return perfil
5
6resultado = crear_perfil(
7    "Ana",
8    "Python", "React", "SQL",
9    puesto="Senior Dev",
10    ubicacion="Madrid"
11)
12print(resultado)

Decoradores

Un decorador envuelve a otra funcion para extender su comportamiento sin modificar su codigo. Se aplican con @nombre_decorador.
python
1import time
2
3def medir_tiempo(func):
4    def wrapper(*args, **kwargs):
5        inicio = time.time()
6        resultado = func(*args, **kwargs)
7        fin = time.time()
8        print(f"{func.__name__} tardo {fin - inicio:.4f}s")
9        return resultado
10    return wrapper
11
12@medir_tiempo
13def proceso_pesado(n):
14    return sum(i**2 for i in range(n))
15
16resultado = proceso_pesado(1_000_000)
← AnteriorDiccionarios y SetsSiguiente →Clases y POO