Sobes.tech
Junior — Middle

Použili ste dekorátory, ktoré prijímajú parametre?

sobes.tech AI

Odpoveď od AI

Áno, používal som dekorátory s parametrami v Pythone. Takéto dekorátory sú funkcie, ktoré prijímajú argumenty a vracajú samotný dekorátor. To umožňuje prispôsobiť správanie dekorátora pri jeho použití.

Príklad jednoduchého dekorátora s parametrom:

def repeat(times):
    def decorator(func):
        def wrapper(*args, **kwargs):
            for _ in range(times):
                result = func(*args, **kwargs)
            return result
        return wrapper
    return decorator

@repeat(times=3)
def say_hello():
    print("Hello")

say_hello()

V tomto príklade funkcia repeat prijíma parameter times a vracia dekorátor, ktorý volá funkciu viackrát.