Python a-z

Twoje centrum interaktywnej nauki Pythona: fiszki, przykłady kodu i edytor w przeglądarce.

Poziom: średni Fiszka #117 · Python

Czym jest Python Decorator i jakie są jego zastosowania?

💡 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:

Dekorator to funkcja wyższego rzędu, która pozwala na dodawanie funkcji lub metod. Zastosowania to między innymi logowanie, mierzenie czasu wykonania, memoizacja.

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