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.