Metody przeciążające operatory
Klasy przechwytują i implementują działania wbudowane poprzez metody o specjalnych nazwach. Wszystkie one rozpoczynają się i kończą dwoma znakami podkreślenia. Nazwy te nie są zarezerwowane i mogą być dziedziczone z klas nadrzędnych w zwykły sposób. Python wyszukuje i wywołuje co najmniej jedną taką metodę w każdej operacji.
Python automatycznie wywołuje metody przeciążające klasy, w przypadku gdy egzemplarze znajdują się w wyrażeniach oraz innych kontekstach. Jeśli na przykład klasa definiuje metodę o nazwie __getitem__
, a X
jest egzemplarzem tej klasy, to wyrażenie X
[
i
]
jest równoważne wywołaniu metody X
.__getitem__(
i
)
(chociaż obecnie stosowanie wywołania metody na ogół nie poprawia szybkości, a czasami nawet ją ...
Get Python. Leksykon kieszonkowy. Wydanie V now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.