Junior — Middle
Python'da dekoratorlar tushunchasini va ular qanday qilib funksiyalarning xulq-atvorini o'zgartirish uchun ishlatilishini tushuntiring.
sobes.tech AI
AIdan javob
Python'dagi dekoratorlar boshqa funksiyani qabul qiladigan va o'zgartirilgan yoki kengaytirilgan xulq-atvor bilan yangi funksiya qaytaradigan funksiyalardir, bu dekoratsiya qilingan funksiyaning manba kodini o'zgartirmaydi.
Ular ko'pincha quyidagi uchun ishlatiladi:
- chaqiruvlarni log qilish
- kirish huquqlarini tekshirish
- natijalarni kechiktirish
- bajarilish vaqtini o'lchash
Oddiy dekorator misoli, funksiyani chaqirishdan oldin va keyin xabar chiqaradi:
def decorator(func):
def wrapper(*args, **kwargs):
print("Funksiya chaqirilishidan oldin")
result = func(*args, **kwargs)
print("Funksiya chaqirilgandan keyin")
return result
return wrapper
@decorator
def salom_ber(ism):
print(f"Salom, {ism}!")
salom_ber("Dunyo")
Chiqish quyidagicha bo'ladi:
Funksiya chaqirilishidan oldin
Salom, Dunyo!
Funksiya chaqirilgandan keyin
Shu tarzda, dekoratorlar funksiyalarning xulq-atvorini dinamik tarzda o'zgartirish imkonini beradi, ularning manba kodini o'zgartirmasdan.