Sobes.tech
Junior — Middle

Python'da sınıf yöntemleri için dekoratör nedir açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'da sınıf yöntemleri için dekoratör, sınıf yöntemini alan ve bu yöntemin değiştirilmiş bir versiyonunu döndüren bir fonksiyondur. Bu, orijinal kodu değiştirmeden yönteme ek davranışlar eklemeye olanak tanır.

Örneğin, bir dekoratör kullanılarak yöntem çağrılarını kaydetmek, erişim izinlerini kontrol etmek veya sonuçları önbelleğe almak mümkündür.

Basit bir sınıf yöntemi dekoratörü örneği:

class MyClass:
    def decorator(func):
        def wrapper(self, *args, **kwargs):
            print(f"{func.__name__} yöntemi çağrıldı")
            return func(self, *args, **kwargs)
        return wrapper

    @decorator
    def method(self, x):
        return x * 2

obj = MyClass()
print(obj.method(5))  # Mesaj ve 10 sonucu gösterir

Burada, @decorator method yöntemini sarar ve çağrı sırasında ek bir çıktı ekler.