Курс 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. Создание новых списков
  4. Установка и использование emoji
  5. Сериализация объектов в Python
  6. Разделение функций на этапы
  7. globals и locals
  8. Использование эмодзи в Python
  9. Подчеркивание в REPL
  10. Метод splitlines() для разделения строк
  11. Методы Python для работы с данными
  12. Реверс строки и списка в Python.
  13. Работа с многоуровневыми словарями в Python
  14. Метод count() для списка
  15. Преобразование регистра строк
  16. Python Метод sleep() из time
  17. Работа с модулем os в Python
  18. Цикл for в Python
  19. Работа с массивами в Numpy
  20. Хешируемые ключи в Python
  21. Форматирование строк в Python
  22. Подсказки при вводе данных в Python
  23. Форматирование данных с помощью pprint
  24. Генерация резюме в Gensim
  25. Генераторы данных
  26. Рекурсия для обращения строки
  27. Явный импорт в Python
  28. Модуль math: основные функции
  29. Установка и использование TensorFlow
  30. Символ подчеркивания в Python
  31. Избегайте ошибку FileNotFoundError
  32. Определение относительного пути
  33. Функциональное программирование.
  34. PATCH-запрос с библиотекой requests
  35. Передача аргументов в Python
  36. Создание вложенных циклов for
  37. Объединение Python и Shell
  38. Курс Data Scientist в медицине
  39. Особенности множеств в Python
  40. Обработка исключений в Python
  41. Функция all() в Python
  42. Многострочные комментарии в Python
  43. Обработка исключений в Python

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