Встречается на собеседованиях • сегодня

В чем разница между параметрическим и непараметрическим декораторами

Параметрические декораторы принимают дополнительные аргументы, кроме самой функции, а непараметрические работают только с функцией.

Непараметрический декоратор:

python
def decorator(func):
    def wrapper(*args, **kwargs):
        print("Before call")
        result = func(*args, **kwargs)
        print("After call")
        return result
    return wrapper

@decorator
def greet(name):
return f"Hello, {name}!"

text

**Параметрический декоратор:**  
```python
def repeat(n):  # Принимает параметр
    def decorator(func):  # Принимает функцию
        def wrapper(*args, **kwargs):
            for _ in range(n):
                result = func(*args, **kwargs)
            return result
        return wrapper
    return decorator

@repeat(3)  # Передаем аргумент
def say_hello():
    print("Hello!")

Параметрический декоратор требует дополнительного уровня вложенности для обработки параметров.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы