[Python-Dev] PEP 460 reboot

Ethan Furman ethan at stoneleaf.us
Mon Jan 13 06:27:12 CET 2014


On 01/12/2014 06:11 PM, Guido van Rossum wrote:
> On Sun, Jan 12, 2014 at 5:27 PM, Ethan Furman <ethan at stoneleaf.us> wrote:
>> On 01/12/2014 04:47 PM, Guido van Rossum wrote:
>>> %s seems the trickiest: I think with a bytes argument it should just
>>> insert those bytes (and the padding modifiers should work too), and
>>> for other types it should probably work like %a, so that it works as
>>> expected for numeric values, and with a string argument it will return
>>> the ascii()-variant of its repr(). Examples:
>>>
>>> b'%s' % 42 == b'42'
>>> b'%s' % 'x' == b"'x'" (i.e. the three-byte string containing an 'x'
>>> enclosed in single quotes)
>>
>> I'm not sure about the quotes.  Would anyone ever actually want those in the
>> byte stream?
>
> Perhaps not, but it's a hint that you should probably think about an
> encoding. It's symmetric with how '%s' % b'x' returns "b'x'". Think of
> it as payback time. :-)

Well that's hardly fair!  I never liked the "b'x'" either!  ;)

Okay, I can live with that symmetry.

--
~Ethan~


More information about the Python-Dev mailing list