Курс 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. Подсчет элементов в Python
  2. Хешируемые ключи в Python
  3. Замер времени выполнения кода
  4. Удаление ресурса в Python
  5. Метод bool() в Python
  6. Метод __float__ в Python
  7. Работа с контекстным менеджером Pool
  8. Измерение времени выполнения кода
  9. Преобразование данных в Python
  10. Форматирование заголовков в Python
  11. Игра Виселица на Python
  12. Фильтрация элементов с помощью islice
  13. Поиск подстроки в строке
  14. Переопределение оператора % для объектов
  15. Создание списков в Python
  16. TypedDict для kwargs в Python 3.12
  17. Работа с URL-адресами в Python
  18. Наиболее частотные элементы с помощью Counter
  19. Метод rmatmul для пользовательских матриц
  20. Поиск шаблона в строке
  21. Работа с файлами в Python
  22. Константы в модуле cmath
  23. Принципы программирования
  24. Работа с CSV в Python
  25. Подсказки при вводе данных в Python
  26. Проверка строки на палиндром
  27. Работа с enumerate()
  28. Преобразование в float
  29. Представление бесконечности в Python
  30. Метод ipow для возведения в степень
  31. Пропуск строк в файле с itertools
  32. Работа с временем в Python
  33. Модуль itertools: эффективная работа с итераторами
  34. Получение атрибутов и методов класса
  35. Регистрация на курсы SF Education
  36. Конкатенация списков в Python
  37. Оформление кода по PEP 8
  38. Управление импортом в Python
  39. Частичное совпадение пользовательского ввода в Python 3.10
  40. Кортежи в Python: особенности и преимущества
  41. *args и **kwargs в Python
  42. Операторы += в Python
  43. Генерация строк с .join()
  44. Работа с GitHub в Telegram
  45. Создание виртуальной среды
  46. Управление контекстом с помощью декоратора contextmanager
  47. Создание виртуальной среды
  48. Контекстный менеджер в Python

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