This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author opstad
Recipients opstad
Date 2011-04-21.18:14:26
SpamBayes Score 0.00021437509
Marked as misclassified No
Message-id <1303409668.43.0.708975922523.issue11900@psf.upfronthosting.co.za>
In-reply-to
Content
Python 2.7.1 doesn't appear to do the usual implicit call to str() for subclasses of unicode. In the following snippet, I would have expected print myTest and print str(myTest) to behave the same:

>>> class Test(unicode):
...   def __str__(self):
...     print "In __str__"
...     return (u"*** " + self + u" ***").encode('utf-8')
...   def __unicode__(self):
...     print "In __unicode__"
...     return u"*** " + self + u" ***"
... 
>>> myTest = Test(u"abc")
>>> print myTest
abc
>>> print str(myTest)
In __str__
*** abc ***
>>> print unicode(myTest)
In __unicode__
*** abc ***
History
Date User Action Args
2011-04-21 18:14:28opstadsetrecipients: + opstad
2011-04-21 18:14:28opstadsetmessageid: <1303409668.43.0.708975922523.issue11900@psf.upfronthosting.co.za>
2011-04-21 18:14:26opstadlinkissue11900 messages
2011-04-21 18:14:26opstadcreate