Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot dekoratoru koncepciju Python valodā un to izmantošanu?

sobes.tech AI

Atbilde no AI

Python dekoratori ir ir funkcijas, kas pieņem citu funkciju un atgriež jaunu funkciju ar paplašinātu uzvedību, nemainot oriģinālās funkcijas avota kodu. Tos bieži izmanto, lai pievienotu papildu loģiku, piemēram, reģistrēšanu, piekļuves tiesību pārbaudi, kešatmiņu utt.

Piemērs lietošanai:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("Pirms funkcijas izsaukšanas")
        result = func(*args, **kwargs)
        print("Pēc funkcijas izsaukšanas")
        return result
    return wrapper

@decorator
def say_hello(name):
    print(f"Sveiki, {name}!")

say_hello("Pasaule")

Izvade:

Pirms funkcijas izsaukšanas
Sveiki, Pasaule!
Pēc funkcijas izsaukšanas

Tādējādi dekoratori ļauj ērtā un lasāmā veidā mainīt funkciju vai metožu uzvedību.