Sobes.tech
Junior — Middle

Python-da sinif metodları üçün dekorator nədir izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Python-da sinif metodlari üçün dekorator, sinif metodunu qəbul edən və bu metodun dəyişdirilmiş versiyasını geri qaytaran funksiyadır. Bu, orijinal kodu dəyişmədən metoda əlavə davranışlar əlavə etməyə imkan verir.

Məsələn, dekorator istifadə edilərək metod çağırışlarını qeyd etmək, giriş hüquqlarını yoxlamaq və ya nəticələri keşikdə saxlamaq mümkündür.

Sadə sinif metodu dekoratorunun nümunəsi:

class MənimSinif:
    def dekorator(func):
        def wrapper(self, *args, **kwargs):
            print(f"{func.__name__} metod çağırıldı")
            return func(self, *args, **kwargs)
        return wrapper

    @dekorator
    def metod(self, x):
        return x * 2

obyekt = MənimSinif()
print(obyekt.metod(5))  # Mesaj və 10 nəticəsini göstərəcək

Burada, @dekorator metod metodunu əhatə edir və çağırış zamanı əlavə çıxış əlavə edir.