Metode koje imaju specijalna značenja - ★★ Fog Developer ★★

Novo

6/recent/ticker-posts

Metode koje imaju specijalna značenja

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 Коментари