Junior — Middle
Python'da sinf usullari uchun dekorator nima ekanligini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Python'da sinf metodlari uchun dekorator, sinf metodini qabul qiladigan va bu metodning o'zgartirilgan versiyasini qaytaradigan funktsiyadir. Bu, uning manba kodini o'zgartirmasdan, metodga qo'shimcha xususiyatlar qo'shishga imkon beradi.
Masalan, dekorator yordamida metod chaqiruvlarini log qilish, kirish huquqlarini tekshirish yoki natijalarni kesh qilish mumkin.
Sinf metodlari uchun oddiy dekorator misoli:
class MeningSinf:
def dekorator(func):
def wrapper(self, *args, **kwargs):
print(f"{func.__name__} metod chaqirildi")
return func(self, *args, **kwargs)
return wrapper
@dekorator
def metod(self, x):
return x * 2
obj = MeningSinf()
print(obj.metod(5)) # Xabar va 10 natijasini chiqaradi
Bu yerda, @dekorator metod metodini o'rab oladi va chaqirilganda qo'shimcha chiqish qo'shadi.