Menu
Coddy logo textTech

Wprowadzenie do dekoratorów

Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 9 z 64.

Dekoratory pozwalają modyfikować lub rozszerzać funkcje i klasy bez zmieniania ich oryginalnego kodu. Używają symbolu @.

Oto przykład prostego dekoratora: 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Zastosuj dekorator za pomocą @:

@my_decorator
def say_hello():
    print("Hello!")

Wywołaj udekorowaną funkcję:

say_hello()

Wynik:

Before function runs
Hello!
After function runs

Zapis @my_decorator jest równoważny zapisowi:

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

Ale składnia @ jest znacznie bardziej przejrzysta i łatwiejsza do czytania.

Najważniejsza kwestia: dekoratory otaczają funkcje, dodając dodatkową funkcjonalność bez modyfikowania kodu oryginalnej funkcji

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Python online