Расскажите о декораторах в Python.

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Пример:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("До вызова функции")
        result = func(*args, **kwargs)
        print("После вызова функции")
        return result
    return wrapper

@decorator
def say_hello(name):
    print(f"Привет, {name}!")

say_hello("Мир")

Вывод:

До вызова функции
Привет, Мир!
После вызова функции

Таким образом, декораторы позволяют модифицировать поведение функций или методов удобным и читаемым способом.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее