Sobes.tech
Junior — Middle

Օ՞ք օգտագործել եք պարամետրեր ընդունող դեկորատորներ։

sobes.tech AI

Պատասխան AI-ից

Այո, ես օգտագործել եմ պարամետրերով դեկորատորներ Python- ում: Այս դեկորատորները ֆունկցիաներ են, որոնք ընդունում են արգումենտներ և վերադարձնում են դեկորատորը ինքնին: Սա թույլ է տալիս կարգավորել դեկորատորի վարքագիծը կիրառման ժամանակ:

Պարզ դեկորատորի օրինակ՝ պարամետրով:

def repeat(times):
    def decorator(func):
        def wrapper(*args, **kwargs):
            for _ in range(times):
                result = func(*args, **kwargs)
            return result
        return wrapper
    return decorator

@repeat(times=3)
def say_hello():
    print("Hello")

say_hello()

Այս օրինակով, repeat ֆունկցիան ընդունում է times պարամետրը և վերադարձնում է դեկորատոր, որը մի քանի անգամ կանչում է ֆունկցիան։