Back to questions
Junior — Middle
70
Каким образом создать собственный декоратор в языке программирования?
Answer from AI
sobes.tech AI
В Python декоратор — это функция, которая принимает другую функцию и возвращает новую функцию с расширенным поведением. Чтобы создать собственный декоратор, нужно определить функцию, которая принимает функцию как аргумент, внутри определить вложенную функцию (обертку), которая вызывает исходную функцию и добавляет нужный функционал, и вернуть эту обертку.
Пример простого декоратора, который выводит сообщение до и после вызова функции:
def my_decorator(func):
def wrapper(*args, **kwargs):
print("До вызова функции")
result = func(*args, **kwargs)
print("После вызова функции")
return result
return wrapper
@my_decorator
def say_hello(name):
print(f"Привет, {name}!")
say_hello("Мир")
Вывод:
До вызова функции
Привет, Мир!
После вызова функции
Таким образом, декоратор позволяет обернуть функцию дополнительным поведением без изменения её кода.