Objekti kot vrnjene vrednosti

Funkcije in metode lahko vračajo objekte. Na primer, če imamo dva objekta Tocka, lahko izračunamo njuno sredino oziroma središčno točko. Najprej napišimo kodo kot običajno funkcijo:

def sredina(p1, p2):
  mx = (p1.x + p2.x) / 2
  my = (p1.y + p2.y) / 2
  return Tocka(mx, my)

Ta funkcija ustvari in vrne nov objekt Tocka:

>>> p = Tocka(4, 3)
>>> q = Tocka(12, 6)
>>> r = sredina(p, q)
>>> r
(8.0, 4.5)

Sedaj pa namesto funkcije kodo raje zapišimo v obliki metode. Recimo, da imamo objekt Tocka in želimo najti središčno točko na pol poti do drugega ciljnega objekta Tocka:

class Tocka:
  # ...

  def sredina(self, tocka):
    """ Vrne središče med točkama """
    mx = (self._x + tocka._x) / 2
    my = (self._y + tocka._y) / 2
    return Tocka(mx, my)


Izvedi Počisti