@zlodiak

Почему не срабатывает декоратор?

Помогите пожалуйста понять почему не получается замерить время выполнения функции при помощи декоратора:

import time

def benchmark(func):
    def wrapped():
        start_time = time.clock()
        res = func()
        print('benchmark:', time.clock() - start_time)
        return res    

@benchmark
def main():
    print('qwerty')       

if __name__ == "__main__":
    main()


Сообщение об ошибке следующее:
$ python index2.py
Traceback (most recent call last):
File "index2.py", line 18, in
main()
TypeError: 'NoneType' object is not callable
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
netpastor
@netpastor
Python developer
Декоратор поправь
def benchmark(func):
    def wrapped():
        start_time = time.clock()
        res = func()
        print('benchmark:', time.clock() - start_time)
        return res    
    return wrapped
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bacon
сам benchmark что возвращает? Ну вот серьезно, можно погуглить реазацию подобных функций, да даже любого декоратора, чтобы понять что не так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы