Курс 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. Комментарии в Python
  3. Работа с CSV файлами
  4. Открытие, чтение и закрытие файла
  5. Удаление дубликатов из списка с помощью dict.fromkeys
  6. Тестирование модели в PyTorch
  7. Оператор in для проверки наличия элемента
  8. Пространство имен в Python
  9. Профилирование кода на Python
  10. Синтаксис переменных цикла в Python
  11. Метод lt для сортировки объектов
  12. Названия переменных
  13. Поиск простых чисел
  14. Работа с кортежами в Python
  15. Подписка на @SelectelNews
  16. Операторы += в Python
  17. Метод get для словаря
  18. Подсказки при вводе данных в Python
  19. Переменные класса и экземпляра
  20. Установка и использование библиотеки google
  21. Модуль subprocess: запуск внешних команд
  22. Операция += для списков
  23. Регистрация на хакатоне
  24. Перевод двоичного кода в целое число
  25. Обработка исключений в Python 3
  26. Отправка POST запроса на сервер.
  27. Проверка запуска скрипта или импорта модуля
  28. Передача параметров в Python
  29. Декораторы для регистрации функций
  30. Автоматизация действий с Pyautogui
  31. Библиотека itertools: объединение списков
  32. Python: отличительная особенность — отступы
  33. Удаление специальных символов
  34. Перехват исключений в Python
  35. split() — разделение строки
  36. Создание списков в Python
  37. Методы Python для работы с данными
  38. Руководство по библиотеке pydantic
  39. Изменение переменной в Python: nonlocal
  40. Использование функции enumerate()
  41. Генераторы в Python
  42. Освоение Python
  43. Метод join() для объединения элементов
  44. Пересечение списков с использованием множеств
  45. Частичное применение функций в Python

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