Poziom: średni
Fiszka #140 · Python
Jakie są zastosowania metody `__call__` w klasach Pythona?
💡 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:
Metoda `__call__` pozwala na traktowanie instancji klasy jako wywoływalne obiekty (funkcje). To jest używane w różnych sytuacjach, na przykład do tworzenia funkcji callback, opakowywania funkcji, i w wielu innych przypadkach, gdzie klasy muszą zachowywać się jak funkcje.
Przykład w Pythonie:
class Mult:
def __init__(self, k): self.k = k
def __call__(self, x): return self.k * x
razy2 = Mult(2)
print(razy2(21))