Zanurkuj w Pythonie/Metody specjalne: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
drobne poprawki formatowania |
tłumaczenie |
||
Linia 17:
'/music/_singles/kairo.mp3'
# Metoda specjalna <tt>__getitem__</tt> wygląda dość prosto. Tak jak zwykłe metody <tt>clear</tt> <tt>keys</tt> i <tt>values</tt> po prostu pozwala słownikowi zwrócić swoje wartości. Jak jest wywoływana? Możesz wywołać ją bezpośrednio, ale w praktyce tak się nie robi. Chciałem Ci tylko pokazać, jak to działa. Dobrym sposobem jest pozwolenie Pythonowi, żeby wywołał ją za Ciebie.
#Takiej składni użyłbyś, by dostać wartość ze słownika i dokładnie tę wartość dostajesz. A brakujące ogniwo jest takie: wewnętrznie Python przekształcił tę składnię na wywołanie metody <tt>f.__getitem__("name")</tt>. Właśnie dlatego <tt>__getitem__</tt> jest specjalną metodą: nie tylko możesz ją zawołać ale Python woła ją za Ciebie, gdy użyjesz odpowiedniej składni.
Oczywiście jest też specjalna metoda <tt>__setitem__</tt> komplementarna z <tt>__getitem__</tt>
'''
def __setitem__(self, key, item): self.data[key] = item
|