Za izpis kart, ki jih v roki drži igralec, lahko uporabimo metodo __str__
, ki je podedovana iz razreda Komplet
. Na primer:
>>> igralec = Igralec("France") >>> komplet = Komplet() >>> komplet.premesaj() >>> komplet.deli([igralec], 5) >>> print(igralec) Igralec France ima Pikova 2 Pikova 3 Pikova 4 Srčev as Križeva 9
Čeprav je priročno podedovati obstoječe metode, pa objekt Igralec
vsebuje dodatne informacije, ki bi jih želeli vključiti v izpis. To storimo tako, da v razred Igralec
vklučimo metodo __str__
, ki bo nadomestila isto imensko metodo iz razreda Komplet
:
class Igralec(Komplet) def __str__(self): s = "Igralec " + str(self._ime) if self.je_prazen(): s += " nima kart\n" else: s += " ima\n" + Komplet.__str__(self) return s
V metodi __str__
razreda Igralec
najprej izpišemo informacije, povezane z danim igralcem – njegovo ime in ali v roki ima, ali nima kart. Če karte ima, potem pokličemo metodo __str__
iz starševskega razreda Komplet
, ki poskrbi za izpis kart, ki jih ima igralec v roki.