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, добавяйки допълнителен изход при извикване.