Izpis kompleta kart

Kot običajno, kadar definiramo nov tip, želimo imeti metodo, ki bo izpisala vsebino objekta. Za izpis objekta Komplet se bomo sprehodili skozi tabelo kart in izpisali vsak objekt Karta:

class Komplet:
  # ...

  def izpisi_komplet(self):
    for karta in self.karte:
      print(karta)

Namesto metode izpisi_komplet bomo raje uporabili metodo __str__. Njena prednost je, da je bolj prilagodljiva. Namesto, da bi izpisala vsebino objekta, ustvari predstavitev objekta kot niz, ki ga pred izpisom drugi deli programa lahko spreminjajo. Lahko pa jo tudi shranimo za kasnejšo uporabo.

Metodo __str__ si lahko ogledaš v interaktivnem urejevalniku. Metoda ustvari niz, ki vsako karto izpiše v svoji vrstici. Vsaka naslednja karta pa je zamaknjena za en presledek v desno, glede na prejšnjo karto. Čeprav celoten izpis obsega 52 vrstic, je to le en sam dolg niz. Spremenljivko, v katero med izvajanjem iteracij zanke lepimo nize, imenujemo zbiralka (ang. accumulator).

Izpis kompleta izgleda takole:

>>> rdeci_komplet = Komplet()
>>> print(rdeci_komplet)
Pikov as
 Pikova 2
  Pikova 3
   Pikova 4
    Pikova 5
     Pikova 6
      ...


Izvedi Počisti