Sobes.tech
Junior — Middle
89

Параметрлерді пайдаланбайтын декораторды қалай жүзеге асыруға болатынын түсіндіре аласыз ба?

AI-дан жауап

sobes.tech AI

Параметрсіз декоратор — бұл басқа функцияны қабылдайтын және қосымша мінез-құлықпен жаңа функцияны қайтаратын функция. Міне, қарапайым декоратордың мысалы, ол функция шақырылмас бұрын хабарлама шығарады:

def simple_decorator(func):
    def wrapper(*args, **kwargs):
        print("Функция шақыру...")
        return func(*args, **kwargs)
    return wrapper

@simple_decorator
def say_hello(name):
    print(f"Сәлем, {name}!")

say_hello("Дүние")

Мұнда simple_decorator басқа параметрлерді қабылдамайды, тек оны декорациялайтын функцияны ғана қабылдайды. Ішінде wrapper деп аталатын ішкі функция құрылады, ол қажетті мінез-құлықты қосады және бастапқы функцияны шақырады.