Poziom: średni
Fiszka #143 · Python
Co to są dekoratory parametryzowane i jak je tworzyć?
💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).
Pokaż odpowiedź i przykład kodu
Opis i wyjaśnienie:
Dekoratory parametryzowane to dekoratory, które przyjmują argumenty podczas dekorowania funkcji. Są one implementowane jako fabryki dekoratorów - funkcje zwracające dekorator. Użycie dekoratora parametryzowanego pozwala na większą elastyczność i ponowne wykorzystanie logiki dekoratora.
Przykład w Pythonie:
def loguj(f):
def wrapper(*a, **k):
print("start"); r = f(*a, **k); print("stop"); return r
return wrapper
@loguj
def hello():
print("Hej")
hello()