Sobes.tech
Back to questions
Senior
7

Что такое декораторы в Python?

Companies where asked
MoneyCat

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("Мир")

Здесь @decorator оборачивает функцию say_hello, добавляя вывод сообщений до и после её вызова.