Sobes.tech
Junior — Middle

Használtál paramétereket elfogadó dekorátorokat?

sobes.tech MI

Válasz az MI-től

Igen, használtam paraméteres dekorátorokat Pythonban. Ezek olyan függvények, amelyek argumentumokat fogadnak és visszaadják a dekorátort magát. Ez lehetővé teszi a dekorátor viselkedésének testreszabását alkalmazáskor.

Egyszerű példája egy paraméteres dekorátornak:

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()

Ebben a példában a repeat függvény elfogadja a times paramétert, és egy olyan dekorátort ad vissza, amely többször hívja meg a függvényt.