Курс 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. Работа с пакетами
  2. Роль запятой в Python
  3. Дефолтные параметры в Python
  4. Создание вложенных циклов for
  5. Генерация ключей RSA
  6. Контекстный менеджер в Python
  7. Создание таблиц в Python с PrettyTable
  8. Генераторы в Python
  9. Использование defaultdict в Python
  10. Автоматизация с Python
  11. Сортировка и обратный порядок
  12. Работа с дробями в Python
  13. Блок else в циклах Python
  14. Работа со строками
  15. Метод Self в Python
  16. Модуль itertools: комбинации и перестановки
  17. Декораторы классов
  18. Pretty-printing JSON в Python
  19. Сортировка данных с лямбда-функциями
  20. Проверка надежности пароля на Python
  21. Методы обработки строк в Python
  22. Проекты на Python
  23. Создание списка через цикл
  24. Реверс строки и списка в Python.
  25. Установка и использование Python-dateutil
  26. Метод rsub в Python: расширение функциональности вычитания
  27. Метод invert для побитового отрицания
  28. Antigravity модуль
  29. Тайное преобразование типа ключа
  30. Печать месячного календаря
  31. Замена текста с помощью sub
  32. ROT13 Шифр Цезаря в Python
  33. Область видимости переменных
  34. Умножение строк и списков
  35. Магические методы в Python
  36. Отладка производительности Python
  37. Функциональное программирование в Python
  38. Условные выражения в Python
  39. Применение команды break
  40. Разбиение строки в Python
  41. Работа с изменяемыми списками
  42. Логические операторы в Python
  43. Переопределение метода __pow__
  44. Определение относительного пути
  45. Оператор (*) в Python

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