Junior — Middle
Python-da dekoratorların konseptini və onların funksiyaların davranışını dəyişdirmək üçün necə istifadə olunduğunu izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Python'da dekoratorlar başqa bir funksiyanı qəbul edən və dəyişdirilmiş və ya genişləndirilmiş davranışa malik yeni funksiya qaytaran funksiyalardır, bu da dekorasiya olunmuş funksiyanın mənbə kodunu dəyişmir.
Onlar tez-tez istifadə olunur:
- Çağırışların qeydiyyatı üçün
- Giriş icazələrinin yoxlanması üçün
- Nəticələrin keşikdə saxlanması üçün
- İcra vaxtının ölçülməsi üçün
Sadə bir dekorator nümunəsi, funksiyanı çağırmadan əvvəl və sonra mesaj göstərir:
def decorator(func):
def wrapper(*args, **kwargs):
print("Funksiya çağırılmadan əvvəl")
result = func(*args, **kwargs)
print("Funksiya çağırıldıqdan sonra")
return result
return wrapper
@decorator
def salam_de(ad):
print(f"Salam, {ad}!")
salam_de("Dünya")
Nəticə belə olacaq:
Funksiya çağırılmadan əvvəl
Salam, Dünya!
Funksiya çağırıldıqdan sonra
Bu yolla, dekoratorlar funksiyaların davranışını dinamik şəkildə dəyişməyə imkan verir, onların mənbə kodunu dəyişmədən.