Sobes.tech
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.