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

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

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


def authentication_required(func):
    def wrapper(*args, **kwargs):
        if check_authentication():
            return func(*args, **kwargs)
        else:
            return "Authentication failed"
    return wrapper

@authentication_required
def secure_function():
    return "Secure content"

В данном примере мы создаем декоратор authentication_required, который проверяет аутентификацию пользователя перед выполнением функции secure_function. Если проверка проходит успешно, функция выполняется, иначе возвращается сообщение об ошибке. Применение декоратора к функции осуществляется с помощью символа @ перед названием декоратора.

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

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

Автор урока

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

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

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

  1. Шаблоны Flask: условия и циклы
  2. Локальные переменные.
  3. Работа со строками в Python.
  4. Подсчет количества элементов в списке
  5. Подсчет частоты элементов с Counter
  6. Python: библиотеки и функции
  7. Атрибуты класса и экземпляра
  8. Оператор space-invader
  9. Параллельные вычисления в Python
  10. Генераторы списков
  11. Декораторы в Python
  12. Уникальность ключей в словаре
  13. Операторы присваивания в Python
  14. Каналы Senior: Python, Java, Frontend, SQL, C++
  15. Конкатенация строковых литералов
  16. Скрытие вывода данных
  17. Проверка окончания строки с помощью str.endswith()
  18. Принцип одной функции
  19. Переименование файлов в Python
  20. Функции-генераторы в Python
  21. Профилирование данных с Pandas.
  22. Генератор списка в Python
  23. Импорт модулей в Python 3.12
  24. Python Enum Weekday Usage
  25. Подсказки типов в Python
  26. UserList в Python: Описание и примеры использования
  27. Создание словарей в Python
  28. Функция findall() для поиска вхождений строки
  29. Python: изменяемые и неизменяемые коллекции
  30. Создание детектора плагиата
  31. Вывод букв строки в Python
  32. Подсчет элементов с помощью Counter из collections
  33. Быстрый поиск кода
  34. Исключение NotImplementedError
  35. Работа с многоуровневыми словарями в Python
  36. Область видимости переменных
  37. Нахождение пересечения множеств
  38. Установка random seed в Python
  39. Обратное распространение ошибки
  40. Сравнение объектов в Python
  41. Иерархия классов в Python
  42. Стать Python-разработчиком
  43. Проверка подстроки в строке
  44. Форматирование строк в Python
  45. Оператор морж в Python 3.8
  46. Работа со временем в Python
  47. Логические операторы в Python

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