"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 >
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4