Junior — Middle
Pythonдеги декораторлордун концепциясын жана алар функциялардын жүрүм-турумун өзгөртүү үчүн кандай колдонулушун түшүндүрүңүз.
sobes.tech AI
AIден жооп
Python'деги декораторлор башка бир функцияны кабыл алып, өзгөртүлгөн же кеңейтілген жүрүм-турум менен жаңы функцияны кайтарат, бул декорацияланган функциянын баштапкы кодун өзгөртпөй.
Алар көбүнчө колдонулат:
- Чалуу журналдарын жүргүзүү үчүн
- Кирүү укуктарын текшерүү үчүн
- Натыйжаларды кэшдөө үчүн
- Ишке ашыруу убактысын өлчөө үчүн
Жөнөкөй декоратордун мисалы, ал функцияны чакырганга чейин жана кийин билдирүү чыгарат:
def decorator(func):
def wrapper(*args, **kwargs):
print("Функцияны чакырганга чейин")
result = func(*args, **kwargs)
print("Функцияны чакыргандан кийин")
return result
return wrapper
@decorator
def say_hello(name):
print(f"Салам, {name}!")
say_hello("Дүйнө")
Жыйынтык мындай болот:
Функцияны чакырганга чейин
Салам, Дүйнө!
Функцияны чакыргандан кийин
Ошентип, декораторлор функциялардын жүрүм-турумун динамикалык түрдө өзгөртүүгө мүмкүндүк берет, алардын баштапкы кодун өзгөртпөстөн.