Назад к вопросам
Axenix
Junior — Middle
85
Каким образом в Python создается и применяются декораторы для функций или методов?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Python декораторы — это функции, которые принимают другую функцию и возвращают новую функцию с расширенным поведением.
Создаются декораторы обычно так:
def decorator(func):
def wrapper(*args, **kwargs):
# код до вызова функции
result = func(*args, **kwargs)
# код после вызова функции
return result
return wrapper
Применение декоратора к функции:
@decorator
def say_hello(name):
print(f"Hello, {name}!")
say_hello("Alice")
При вызове say_hello фактически вызывается wrapper, который может добавить дополнительную логику до и после вызова исходной функции.
Декораторы часто используются для логирования, проверки прав доступа, измерения времени выполнения и других аспектов.
Для методов классов декораторы работают аналогично, например:
class MyClass:
@decorator
def method(self):
pass
Также существуют встроенные декораторы, например @staticmethod, @classmethod.