Sobes.tech
Junior — Middle

Python'da dekoratör kavramını ve bunların fonksiyonların davranışını nasıl değiştirmek için kullanıldığını açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'daki dekoratörler, başka bir fonksiyon alan ve değiştirilmiş veya genişletilmiş davranışa sahip yeni bir fonksiyon döndüren fonksiyonlardır; bu, dekor edilen fonksiyonun kaynak kodunu değiştirmez.

Genellikle şu amaçlarla kullanılırlar:

  • Çağrıların kaydını tutmak
  • Erişim izinlerini kontrol etmek
  • Sonuçları önbelleğe almak
  • Çalışma süresini ölçmek

Basit bir dekoratör örneği, fonksiyon çağrısından önce ve sonra mesaj gösterir:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("Fonksiyon çağrılmadan önce")
        result = func(*args, **kwargs)
        print("Fonksiyon çağrıldıktan sonra")
        return result
    return wrapper

@decorator
def merhaba_de(name):
    print(f"Merhaba, {name}!")

merhaba_de("Dünya")

Çıktı şu şekilde olur:

Fonksiyon çağrılmadan önce
Merhaba, Dünya!
Fonksiyon çağrıldıktan sonra

Bu şekilde, dekoratörler fonksiyonların davranışını dinamik olarak değiştirmeye olanak tanır, kaynak kodlarını değiştirmeden.