Junior — Middle
Czy możesz wyjaśnić, czym jest dekorator dla metod klasy w Pythonie?
sobes.tech AI
Odpowiedź od AI
Dekorator dla metod klasy w Pythonie to funkcja, która przyjmuje metodę klasy i zwraca zmodyfikowaną wersję tej metody. Pozwala dodać dodatkowe zachowanie do metody bez zmiany jej kodu źródłowego.
Na przykład, można użyć dekoratora do logowania wywołań metody, sprawdzania uprawnień dostępu lub buforowania wyników.
Przykład prostego dekoratora dla metody klasy:
class MojaKlasa:
def dekorator(func):
def wrapper(self, *args, **kwargs):
print(f"Wywołanie metody {func.__name__}")
return func(self, *args, **kwargs)
return wrapper
@dekorator
def metoda(self, x):
return x * 2
obj = MojaKlasa()
print(obj.metoda(5)) # Wyświetli wiadomość i wynik 10
Tutaj, @dekorator opakowuje metodę metoda, dodając dodatkowe wyjście podczas wywołania.