Добрый день. По сути задача - декоратор с параметром. Это сделано. Но вот не могу собразить как получить timestamps_list в get для того, чтобы выбрать n элементов из этого списка. И вообще по принтам выводится все для get, потом все для wrapper, а потом уже функция несколько раз (если в цикле). То есть как бы нет вложенности в этой структуре. Пробовал через nonlocal, но переменная не изменяется. Нужна пояснительная бригада, как такое можно сделать.
Код:
def get(n):
def wrapper(func):
def inner(*args, **kwargs):
ts_before = time.time()
result = func(*args, **kwargs)
ts_after = time.time()
inner.timestamps_list.append(ts_after - ts_before)
return result
inner.timestamps_list = []
return inner
return wrapper