Sobes.tech
Junior — Middle

Կարող եք բացատրել Python լեզվում դեկորատորների հասկացությունը և դրանց օգտագործումը:

sobes.tech AI

Պատասխան 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("Աշխարհ")

Ելք՝

Նախքան ֆունկցիայի կանչելը
Բարև, Աշխարհ!
Հետո ֆունկցիայի կանչելը

Այսպիսով, դեկորատորները թույլ են տալիս հարմար և ընթեռնելի ձևով փոփոխել ֆունկցիաների կամ մեթոդների վարքը։