New submission from Dave Opstad <dave.ops...@monotypeimaging.com>: 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 *** ---------- components: Unicode messages: 134231 nosy: opstad priority: normal severity: normal status: open title: 2.7.1 unicode subclasses not calling __str__() for print statement type: behavior versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11900> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com