List, __repr__() is exactly what I was looking for :)
You guys rock! Thank you. -Modulok- On 11/12/09, Dave Angel <da...@ieee.org> wrote: > > > Kent Johnson wrote: >> On Thu, Nov 12, 2009 at 6:35 AM, Luke Paireepinart >> <rabidpoob...@gmail.com> wrote: >> >>> On Thu, Nov 12, 2009 at 5:29 AM, Jeff R. Allen <j...@nella.org> wrote: >>> >>>> You are looking for the __str__ method. See >>>> http://docs.python.org/reference/datamodel.html#object.__str__ >>>> >>>> >>> Can't you also implement __repr__? >>> >> >> Yes, in fact if you are only going to implement one of __str__ and >> __repr__, arguably __repr__ is a better choice. __repr__() is called >> by the interactive interpreter when it displays an object. __str__ is >> called by print, and if you don't define __str__ it will call >> __repr__. So defining only __str__ will not give a custom >> representation unless you print: >> >> In [1]: class Foo(): >> ...: def __str__(self): >> ...: return "I'm a Foo" >> >> In [2]: f = Foo() >> >> In [3]: f >> Out[3]: <__main__.Foo instance at 0x1433468> >> >> In [4]: print f >> I'm a Foo >> >> >> Defining __repr__ will give the custom representation when you just >> give the name of the object: >> >> In [5]: class Foo2(): >> ...: def __repr__(self): >> ...: return "I'm a Foo2" >> ...: >> ...: >> >> In [6]: f2=Foo2() >> >> In [7]: f2 >> Out[7]: I'm a Foo2 >> >> In [8]: print f2 >> I'm a Foo2 >> >> Kent >> >> > And one other important place that uses __repr__() is the printing of > containers. So if you have a list of Foo2 objects, and you want to just say > print mylist > > it's better to have __repr__(). > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor