Zanurkuj w Pythonie/Metody specjalne: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Beau (dyskusja | edycje)
sprzątanie kodu
Linia 1:
== Pobieranie i ustawianie elementów ==
 
Oprócz normalnych metod, jest też kilka (może kilkanaście) metod specjalnych, które można definiować w klasach Pythona. Nie wywołujemy ich bezpośrednio z naszego kodu (jak zwykłe metody). Wywołuje je za nas Python w określonych okolicznościach lub gdy użyjemy określonej składni np. za pomocą metod specjalnych możemy nadpisać operację dodawania, czy też odejmowania.
 
Linia 47 ⟶ 46:
|5.14|Nadpisywanie metody <code>__setitem__</code> w klasie <code>MP3FileInfo</code>
|tekst=
<nowikisource lang="python"> def __setitem__(self, key, item): #(1)
if key == "plik" and item: #(2)
self.__parse(item) #(3)
FileInfo.__setitem__(self, key, item) #(4)</nowikisource>
 
# Zwróćmy uwagę na kolejność i liczbę argumentów w <code>__setitem__</code>. Pierwszym argumentem jest instancja danej klasy (argument <code>self</code>), z której ta metoda została wywołana, następnym argumentem jest klucz (argument <code>key</code>), który chcemy ustawić, a trzecim jest wartość (argument <code>item</code>), którą chcemy skojarzyć z danym kluczem. Kolejność ta jest ważna, ponieważ Python będzie wywoływał tę metodą w takiej kolejności i z taką liczbą argumentów. (Nazwy argumentów nic nie znaczą, ważna jest ich ilość i kolejność.)
Linia 89 ⟶ 88:
[[../Zaawansowane metody specjalne/]]|
}}
{{Podświetl|py}}</noinclude>