Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է դասի մեթոդների դեկորատորը Python-ում?

sobes.tech AI

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

Python-ում դասի մեթոդների համար դեկորատորն այն ֆունկցիան է, որը ընդունում է դասի մեթոդը և վերադարձնում է այդ մեթոդի փոփոխված տարբերակը: Դա թույլ է տալիս ավելացնել լրացուցիչ վարքագիծ մեթոդին՝ առանց նրա սկզբնական կոդը փոխելու:

Օրինակ, դուք կարող եք օգտագործել դեկորատոր՝ մեթոդի կանչումները գրանցելու, մուտքի իրավունքները ստուգելու կամ արդյունքները կեշավորելու համար:

Սովորական դեկորատորի օրինակ՝ դասի մեթոդի համար:

class MyClass:
    def decorator(func):
        def wrapper(self, *args, **kwargs):
            print(f"{func.__name__} մեթոդի կանչը")
            return func(self, *args, **kwargs)
        return wrapper

    @decorator
    def method(self, x):
        return x * 2

obj = MyClass()
print(obj.method(5))  # Տպում է հաղորդագրություն և արդյունք՝ 10

Այստեղ, @decorator-ը շրջապատում է method-ը և ավելացնում է լրացուցիչ արտածում՝ կանչի ժամանակ։