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-ро мепӯшонад ва дар вақти занг додан, баромади иловагӣ меорад.