[Python-Dev] String formatting / unicode 2.5 bug? (original) (raw)

Neil Schemenauer nas at arctrix.com
Sun Aug 20 18:39:29 CEST 2006


John J Lee <jjl at pobox.com> wrote:

The note (4) says that the result will be unicode, but it doesn't say how, in this case, that comes about. This case is confusing because the docs claim string formatting with %s "converts ... using str()", and yet str(a()) returns a bytestring. Does it really use str, or just str? Surely the latter? (given the observed behaviour, and not reading the C source)

It uses str and confirms that the returned object is a 'str' or 'unicode'. The docs are not precise but they were not for 2.4 either. Note the following case:

'%s' % u'Hello!'

The operand is not forced to be a str.

Neil



More information about the Python-Dev mailing list