Sobes.tech
Назад к вопросам
Junior — Middle
66

Разрабатывали ли вы собственные декораторы для функций или методов?

Ответ от нейросети

sobes.tech AI

Да, я разрабатывал собственные декораторы для функций и методов в Python. Декораторы позволяют обернуть функцию или метод дополнительным функционалом без изменения их исходного кода. Например, можно создать декоратор для логирования вызовов функции:

import functools

def log_calls(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        print(f"Вызов функции {func.__name__} с аргументами {args} и {kwargs}")
        result = func(*args, **kwargs)
        print(f"Функция {func.__name__} вернула {result}")
        return result
    return wrapper

@log_calls
def add(a, b):
    return a + b

add(2, 3)

Такой декоратор полезен для отладки и мониторинга работы функций.