Sobes.tech
Junior — Middle

Czym jest własny dekorator i jak go stworzyć w Pythonie?

sobes.tech AI

Odpowiedź od AI

Własny dekorator w Pythonie to funkcja, która przyjmuje inną funkcję i zwraca nową funkcję z rozszerzonym lub zmienionym zachowaniem.

Przykład tworzenia prostego dekoratora, który wyświetla wiadomość przed i po wywołaniu funkcji:

def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("Rozpoczynamy wykonywanie funkcji")
        result = func(*args, **kwargs)
        print("Zakończyliśmy wykonywanie funkcji")
        return result
    return wrapper

@my_decorator
def say_hello(name):
    print(f"Cześć, {name}!")

say_hello("Świecie")

Tutaj @my_decorator stosuje dekorator do funkcji say_hello, dodając dodatkowy komunikat.