Sobes.tech
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("Дүйнө")

Чыгуу:

Функцияны чакырганга чейин
Салам, Дүйнө!
Функцияны чакыргандан кийин

Мындайча айтканда, декораторлор функциялардын же методдордун иштешин ыңгайлуу жана окумдуу жол менен өзгөртүүгө мүмкүндүк берет.