On Wed, 25 Aug 2010 16:18:15 -0500
Ross Williamson <rosswilliamson....@gmail.com> wrote:
> Hi All
> 
> Is there anyway in a class to overload the print function?

Your terminology threw me off for a moment.  You don't want to override
print.  You want to override the default representation of an object.

> 
> >> class foo_class():
> >>      pass
> 
> >> cc = foo_class()
> >> print cc
> 
> Gives:
> 
> <__main__.foo_class instance at ....>

That's the default representation.

> Can I do something like:
> 
> >> class foo_class():
> >>     def __print__(self):
> >>           print "hello"

Close.  Check this.

>>> class foo_class():
...     def __repr__(self):
...           return "hello"
... 
>>> x = foo_class()
>>> x
hello

-- 
D'Arcy J.M. Cain <da...@druid.net>         |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to