[Python-Dev] Re: __str__ does not default to __repr__ if a base
classhas __str__
Terry Reedy
tjreedy at udel.edu
Mon May 17 11:56:08 EDT 2004
"Edward C. Jones" <edcjones at erols.com> wrote in message
news:40A8D37B.7030807 at erols.com...
> # In the code below, "a.__str__()" does not default to "a.__repr__() as
> # might be expected. It finds the "__str__" in the base class X. The
> # Reference Manual, section 3.3.1, says:
> # If a class defines __repr__() but not __str__(), then __repr__() is
> # also used when an 'informal' string representation of instances of
> # that class is required.
> # If the reader is in lawyer mode, the documentation is correct.
> # Is the current behavior what was intended? What should the behavior be?
>
> class X(object):
> def __str__(self):
> return 'str for X'
>
> def __repr__(self):
> return 'repr for X'
>
> class A(X):
> def __repr__(self):
> return 'repr for A'
>
> # __str__ = __repr__
>
> x = X()
> a = A()
> print x.__str__()
> print x.__repr__()
> print a.__str__()
> print a.__repr__()
>
>
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
http://mail.python.org/mailman/options/python-dev/python-python-dev%40m.gmane.org
>
More information about the Python-Dev
mailing list