[Python-Dev] Format strings, Unicode, and Py2.7: need clarification (original) (raw)
Random832 random832 at fastmail.com
Thu May 18 10:25:24 EDT 2017
- Previous message (by thread): [Python-Dev] Format strings, Unicode, and Py2.7: need clarification
- Next message (by thread): [Python-Dev] Format strings, Unicode, and Py2.7: need clarification
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, May 18, 2017, at 01:14, Hobson Lane wrote:
Because
.format()
is a method on an instantiatedstr
object in e and so must return the same type
That it must return the same type is overstating the matter. Split returns a list (and, rather like %, the list is of unicode or str objects depending on the argument). Join will return a unicode object if any of the elements of the sequence are unicode. I was honestly surprised though to see that % returns unicode when formatting a unicode value, since my mental model of %s was more like {!s} - call str() on whatever object is at the given position in the right-hand argument. This kind of ad hoc implementation decision (format always returns str, other methods can return unicode, ljust/rjust refuse to accept a unicode character argument) is what Python 3 moved away from.
- Previous message (by thread): [Python-Dev] Format strings, Unicode, and Py2.7: need clarification
- Next message (by thread): [Python-Dev] Format strings, Unicode, and Py2.7: need clarification
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]