17.2 Metode koje imaju specijalna značenja
Prilikom korišćenja OOP-a i definisanja klasa, mi možemo mnogo olakšati posao sebi, ali i samom Pythonu, ukoliko se pridržavamo nekih „specijalnih“ oznaka za naše metode. U delu tutorijala u kojem smo obrađivali OOP, video si da postoje određene metode, kao što su __init__() i __del__(), čije ime ima poseban značaj prilikom definisanja klasa.
Posebna imena naših metoda se koriste da bi smo od klase dobili objekte koji mogu da imitiraju (ili da imaju slično) ponašanje kao i objekti koji su već „ugrađeni“ u Python (pod tim mislim na stringove, brojeve, rečnike, tuple itd). Na primer, ako bi smo želeli da koristimo oznaku x[kljuc] (gde je x promenljiva koja čuva objekat naše klase, pa bi ovo bila operacija indeksiranja, slično kao da je naš objekat lista ili tupla), onda, sve što treba da uradimo je, da definišemo metod sa imenom __getitem__() i posao je završen. Upravo tako je u Python-u definisana i operacija isecanja u klasi list!
Neka korisna imena koja mogu da definišu posebne metode u klasama, su navedena u sledećoj tabeli. Ako želite da znate malo više o svim mogućim specijalnim metodama, pogledajte ovo uputstvo.
Ime metode
|
Značenje
|
__init__(self, …)
|
Ovaj metod će se izvršavati u trenutku kada se
kreira novi objekat.
|
__del__(self)
|
Izvršava se u trenutku kada naš objekat treba da
bude uništen.U programu - komanda del
|
__str__(self)
|
Izvršava se kada nam je potreban prikaz objekta,
tj kada u programu koristimo print() ili str()
funkciju.
|
__lt__(self, drugi)
|
Izvršava se kada se u programu koristi "manje
od" operator (<). Slično ovom metodu, postoje posebna
imena za sve operatere (+, >, itd).
|
__getitem__(self, kljuc)
|
Izvršava se kada se u programu koristi oznaka
x[kljuc], tj. operacija indeksiranja.
|
__len__(self)
|
Izvršava se kada se u programu koristi funkcija
len().
|
17.1 Malo igranje sa tupleima |
Indeks | 17.3 Blokovi od samo jedne naredbe |
0 Коментари
Pokažite nam šta mislite o ovome!