Sobes.tech
Back to questions
Junior — Middle
77

Каким образом можно создать декоратор в Python и как его использовать?

Companies where asked
РунитиРунити

Answer from AI

sobes.tech AI

Декоратор в 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("Мир")

Вывод будет:

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

Таким образом, декораторы позволяют добавлять дополнительную логику (например, логирование, проверку прав, кеширование) к функциям без изменения их кода.