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-ը և ավելացնում է լրացուցիչ արտածում՝ կանչի ժամանակ։