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.