On 5/19/2010 1:14 AM, Vincent Davis wrote:

I am sure this is easy but I am not sure how to do it and google was
failing me.
Lets say I have a class() with an def x() and def y() and I want
print(class.x) and (class.y) to have custom prints (__str__) how do I do
this
For example
class C(object):
     def __init__(self, new):
         self.letter = dict(a=1,b=2,c=3, amin=np.amin)
         self.new = new
         self._x = None
         self._Y = None

     @property
     def x(self):
"""I'm the 'x' property."""
         self._x = self.new
         return self._x

     @property
     def y(self):
"""I'm the 'x' property."""
         self._y = self.new*-1
         return self._y

.......
 >>> print(class.x)

'class' is a keyword, so this is a syntax error.
Did you mean C.x?

****x****

In any case, the printing of an object ob is controlled by type(ob).__str__ and type(ob).__repr__, so you can only control the printing of instances of custom type. You cannot replace methods of builtin classes.

Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to