Курс Python → Декораторы в Python

Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций без изменения их кода. Они позволяют добавлять дополнительную функциональность к существующим функциям, не изменяя их исходный код. Декораторы могут использоваться для различных целей, таких как логирование, кэширование, проверка аргументов и многое другое.

Для создания декоратора в Python необходимо определить функцию, которая будет являться декоратором, и применить специальный синтаксис перед определением функции, которую вы хотите декорировать. Например, если вы хотите создать декоратор для вывода времени выполнения функции, вы можете написать следующий код:


import time

def timer(func):
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print(f"Time taken: {end_time - start_time} seconds")
        return result
    return wrapper

@timer
def some_function():
    # Код функции

В этом примере декоратор timer измеряет время выполнения функции some_function и выводит его на экран. Декоратор принимает функцию в качестве аргумента, создает внутреннюю функцию-обертку, которая заменяет вызываемую функцию и возвращает результат выполнения исходной функции.

Использование декораторов позволяет улучшить читаемость кода, избежать дублирования кода и повысить переиспользуемость функций. Они являются важной частью парадигмы программирования в Python и позволяют значительно упростить написание и поддержку кода.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Создание матрицы в Python
  2. Создание обратного итератора
  3. Управление фоновыми задачами в Python
  4. Логирование с Logzero
  5. Замена элементов в списке с помощью генераторов списков
  6. Добавление цвета в консоли
  7. Декораторы в Python
  8. Область видимости переменных
  9. Логирование с Loguru
  10. Форматирование строк в Python
  11. Форматирование чисел в Python
  12. Метод ior для битовых операций
  13. Создание словарей с defaultdict
  14. Метод __call__ в Python
  15. Руководство по использованию Colorama
  16. Метод setdefault() в Python
  17. Работа с эмодзи в Python
  18. Эффективная конкатенация строк в Python
  19. Импорт модуля из другого каталога
  20. Повторение элементов списков
  21. Секреты Python
  22. Получение комбинаций в Python
  23. Defaultdict в Python
  24. globals и locals
  25. Создание задания в Cron
  26. Отладка регулярных выражений в Python
  27. Генерация UUID в Python
  28. Запрос DELETE с библиотекой requests
  29. Вычисление натурального логарифма в NumPy
  30. Операторы Splat и splatty-splat
  31. Python groupby() из itertools: работа с повторяющимися элементами
  32. None в Python: использование и особенности
  33. Python defaultdict добавление ключа
  34. Удаление ключа из словаря в Python
  35. Форматирование заголовков в Python
  36. Метод __imod__ для Python
  37. Списковые включения в Python
  38. Дизассемблирование Python кода
  39. Метод splitlines() для разделения строк
  40. Переопределение метода xor в Python
  41. Работа с Event() в threading
  42. Множественные конструкторы в Python
  43. Преобразование range в итератор
  44. Мощь вложенных функций в Python
  45. Создание веб-приложения с Flask
  46. Создание спинбокса в tkinter

Marketello читают маркетологи из крутых компаний