[Tutor] how to get str() to use my function?

Huy Ton That huyslogic at gmail.com
Wed Aug 4 16:49:08 CEST 2010


You could write __str__ function

>>> class card(object):
...     def __init__(self, card1, card2):
...             self.card1, self.card2 = card1, card2
...     def __str__(self):
...             return str(str(self.card1)+','+str(self.card2))
...
>>> a = card(0,0)
>>> str(a)
'0,0'

On Wed, Aug 4, 2010 at 10:37 AM, Alex Hall <mehgcap at gmail.com> wrote:

> Hi all,
> I have a card class. A card object simply consists of a pair of
> numbers; 0,0 might be the ace of clubs, for example. I have a toString
> method in my card class. Is there a way to just say str(card) instead
> of card.toString()? Maybe some sort of basic, built-in function to
> override? TIA. Oh, what about doing the same with operators? For
> example, could I get the program to call my own math functions when it
> sees a card object in a math expression, like
> if(card1==card2)
>
> --
> Have a great day,
> Alex (msg sent from GMail website)
> mehgcap at gmail.com; http://www.facebook.com/mehgcap
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100804/6928ae54/attachment.html>


More information about the Tutor mailing list