logo

__getitem__() w Pythonie

W Pythonie wszystko jest obiektem. Istnieje wiele „zwykłych” metod wywołań systemowych na tych obiektach za sceną, które nie są widoczne dla programisty. Nadchodzą tak zwane magiczne metody . Metody magiczne w Pythonie to specjalne metody, które są wywoływane, gdy uruchamiamy dowolny zwykły kod Pythona. Aby odróżnić je od normalnych funkcji, otaczają je podwójne podkreślenia.

Jeśli chcemy dodać aib, piszemy następującą składnię:



 c = a + b>

Wewnętrznie nazywa się to:

Domyślne parametry Javy
 c = a.__add__(b)>

__getitem__()>to magiczna metoda w Pythonie, która użyta w klasie pozwala jej instancjom na użycie[]>operatory (indeksatora). Powiedzmy więc, że x jest instancją tej klasyx[i]>jest mniej więcej równoważnetype(x).__getitem__(x, i)>.

Metoda__getitem__(self, key)>definiuje zachowanie podczas uzyskiwania dostępu do elementu, używając notacjiself[key]>. Jest to również część zarówno zmiennych, jak i niezmiennych protokołów kontenerów.



Przykład:

oops, koncepcje w Javie






# Code to demonstrate use> # of __getitem__() in python> > > class> Test(>object>):> > ># This function prints the type> ># of the object passed as well> ># as the object item> >def> __getitem__(>self>, items):> >print> (>type>(items), items)> > # Driver code> test>=> Test()> test[>5>]> test[>5>:>65>:>5>]> test[>'techcodeview.com'>]> test[>1>,>'x'>,>10.0>]> test[>'a'>:>'z'>:>2>]> test[>object>()]>

algorytmy wyszukiwania

>

>

xor w Javie

Wyjście:

 5 slice(5, 65, 5) techcodeview.com (1, 'x', 10.0) slice('a', 'z', 2)>

W przeciwieństwie do niektórych innych języków, Python zasadniczo pozwala przekazać dowolny obiekt do indeksatora. Możesz być zaskoczony, żetest[1, 'x', 10.0]>faktycznie analizuje. Dla interpretera Pythona to wyrażenie jest równoważne temu:test.__getitem__((1, 'x', 10.0))>. Jak widać, część 1, „x”, 10,0 jest domyślnie analizowana jako krotka. Thetest[5:65:5]>wyrażenie korzysta ze składni plasterków Pythona. Jest to odpowiednik tego wyrażenia: test[slice(5, 65, 5)].

The__getitem__>Metoda magiczna jest zwykle używana do indeksowania list, przeszukiwania słownika lub uzyskiwania dostępu do zakresów wartości. Biorąc pod uwagę jego wszechstronność, jest to prawdopodobnie jedna z najrzadziej wykorzystywanych magicznych metod Pythona.