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

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

Пример использования декоратора можно увидеть в следующем коде:


def print_argument(func):
    def wrapper(*args, **kwargs):
        print(f"Аргументы функции: {args}")
        result = func(*args, **kwargs)
        return result
    return wrapper

@print_argument
def greet(name):
    return f"Привет, {name}!"

print(greet("Мир"))

В данном примере мы создаем декоратор print_argument, который выводит аргументы функции перед ее выполнением. Затем мы применяем этот декоратор к функции greet, которая принимает имя и возвращает приветствие. При вызове greet(«Мир») сначала будет выведено «Аргументы функции: (‘Мир’,)», а затем «Привет, Мир!».

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

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

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

Автор урока

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

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

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

  1. Непрерывная проверка в Python
  2. Копирование объектов в Python
  3. Параллельные вычисления в Python
  4. Функция __init__ в Python
  5. Работа с zip-архивами в Python
  6. Дефолтные параметры в Python
  7. Оператор zip в Python
  8. Установка и использование Virtualenv
  9. Функция count() в Python
  10. Регулярные выражения: метод match
  11. Утечки переменных цикла в Python 3.x
  12. Генерация UUID в Python
  13. Поиск наиболее частого элемента
  14. Вычисление разности множеств в Python
  15. Курс Data Scientist в медицине
  16. Функция divmod() в Python
  17. Очистка данных с помощью pandas
  18. Декодирование байтов в строку
  19. Просмотр файла в Jupyter Noteboo
  20. GitHub в Telegram: подписка на уведомления
  21. Подсчет элементов в Python
  22. Выражения-генераторы в Python
  23. Проверка существования переменной с оператором :=
  24. Асинхронное программирование с asyncio
  25. Установка и обучение ChatterBot
  26. Форматирование строк в Python
  27. Установка и использование Telegram API в Python
  28. Python Enumerate
  29. Печать комбинаций в Python с Itertools
  30. Преобразование текста в речь с Python
  31. Удаление пробелов методом translate()
  32. Работа с классами данных
  33. Модуль antigravity: генерация координат
  34. Бинарный поиск
  35. Функция enumerate в Python
  36. Оператор == в Python
  37. Тестирование с responses
  38. Работа с коллекциями Python
  39. Игра «Угадывание чисел»
  40. Именование столбцов в Python с pandas
  41. Вычисление логарифмов в Python
  42. Хеширование паролей с использованием salt
  43. Функции-генераторы в Python
  44. Объединение словарей в Python

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