Курс 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. Модуль math: константы π и e
  2. Python Translator: создание локальных переводчиков
  3. Вложенные генераторы в Python
  4. Работа с временем в Python
  5. Улучшенные подсказки для импорта в Python 3.12
  6. Работа с изменяемыми коллекциями
  7. Копирование и вставка текста в Python
  8. Функции range() в Python
  9. Улучшение читаемости кода в Python
  10. Создание уникального проекта
  11. Удаление эмодзи с помощью pandas
  12. Python и Монти Пайтон
  13. Чтение бинарного файла в Python.
  14. Генераторы в Python
  15. Создание панели меню Tkinter
  16. Преобразование многоуровневого словаря
  17. Применение команды break
  18. Обезопасьте ввод данных
  19. Именованные аргументы в Python
  20. Форматирование даты с strftime()
  21. Выборка чисел
  22. Счетчик ссылок в Python
  23. Отладчик pdb: начало работы
  24. F-строки в Python
  25. Встроенные функции Python
  26. Печать комбинаций в Python с Itertools
  27. Чтение и запись TOML-конфигов
  28. Модуль itertools: эффективная работа с итераторами
  29. Многострочные строки в Python
  30. Структуры данных в Python
  31. Декоратор total_ordering для сравнения объектов
  32. Вакансии в Nebius
  33. Получение обратного списка чисел
  34. Поиск шаблона в строке
  35. Пересечение списков с использованием множеств
  36. Метод округления чисел
  37. Получение комбинаций в Python
  38. Срезы в Python
  39. Функция reduce() из модуля functools
  40. Генераторы списков

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