ComenzarEmpieza gratis

Definir un decorador

Tu colega ha estado trabajando en un decorador que imprime un mensaje "antes" antes de llamar a la función decorada e imprime un mensaje "después" después de llamar a la función decorada. Tienen problemas para recordar cómo se supone que funciona la función de envoltorio decorado. Ayúdales terminando su print_before_and_after() decorador.

Este ejercicio forma parte del curso

Escribir funciones en Python

Ver curso

Instrucciones de ejercicio

  • Llama a la función decorada y pásale los argumentos posicionales *args.
  • Devuelve la nueva función decorada.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

def print_before_and_after(func):
  def wrapper(*args):
    print('Before {}'.format(func.__name__))
    # Call the function being decorated with *args
    ____(*args)
    print('After {}'.format(func.__name__))
  # Return the nested function
  return ____

@print_before_and_after
def multiply(a, b):
  print(a * b)

multiply(5, 10)
Editar y ejecutar código