Перейти к содержанию

Декораторы


Задание: Не те градусы


Воспользовавшись API от NOAA мы создали несколько функций, возвращающих ожидаемую на следующий день температуру воды возле затонувших кораблей в градусах Фаренгейта. Напишите декоратор, переводящий возвращаемые этими функциями целые числа из шкалы Фаренгейта в шкалу Цельсия с точностью до второго знака после запятой. Ни одна из функций не принимает аргументы.

Формула пересчёта: (X °F − 32) × 5/9 °C

Подсказка: округлять можно с помощью функции round():

v = 0.111111111111
round(v, 4) # 0.1111
round(v) # 0

Загрузка тренажера...

Задание: Декоратор измерения производительности.


В данном задании необходимо написать декоратор, который будет измерять время выполнения функции.


  1. Реализуйте декоратор @measure_performance.
  2. С помощью функции time(), модуля Python time, определить время выполнения декорируемой функции.
  3. Время выполнения функции (в секундах) должно выводиться в консоль.
  4. Следует учесть, что функция, которую декорируют может иметь различное количество позиционных и именных аргументов.

*time.time() - возвращает количество секунд, прошедших с определенной эпохи, в виде числа с плавающей запятой.


Загрузка тренажера...