Knjiga - mrežno i paralelno programiranje
4. Objekti kao parametri metoda
Dragi moji učenici,
danas ćete naučiti nešto o specijalnim metodama __str__() i __repr__() u Pythonu.
Definirati klasu Osoba koja ima dva svojstva ime i visinu, a zatim kreiraj 2 objekta s ulaznim vrijednostima („Ana”, 165 i „Ivo”, 178) te metodu visina() koja će ispisati ime osobe koja je viša. *
Primjer za metodu __str__()
|
class Osoba: def __init__(self,ime): self.ime=ime
objekt = Osoba('Ana') print(objekt) |
class Osoba: def __init__(self, ime): self.ime=ime def __str__(self): return f'{self.ime}'
objekt = Osoba('Ana') print(objekt) |
|
<__main__.Osoba object at 0x0306A598> |
Ana |
Koga zanima može istraživati i ostale specijalne metode:
|
Naziv metode |
Opis |
|
__add__(self, b) |
zbrajanje ( + ) |
|
__sub__(self, b) |
oduzimanje ( - ) |
|
__mul__(self, b) |
množenje ( * ) |
|
__floordiv__(self, b) |
cjelobrojno dijeljenje ( // ) |
|
__truediv__(self, b) |
dijeljenje ( / ) |
|
__mod__(self, b) |
ostatak cjelobrojnog dijeljenja ( % ) |
|
__pow__(self, n) |
potenciranje ( ** ) |
|
__iadd__(self, t) |
+= |
|
__isub__(self, t) |
-= |
|
__imul__(self, t) |
*= |
|
__itruediv__(self, t) |
/= |
|
__ifloordiv__(self, t) |
//= |
|
__mod__(self, t) |
%= |
|
__lt__(self, b) |
manje ( < ) |
|
__le__(self, b) |
manje ili jednako ( <= ) |
|
__gt__(self, b) |
veće ( > ) |
|
__ge__(self, b) |
veće ili jednako ( >= ) |
|
__eq__(self, b) |
jednako ( == ) |
|
__ne__(self, b) |
različito ( != ) |
|
__and__(self, b) |
logički I ( and ) |
|
__or__(self, b) |
logički ILI ( or ) |