[Python-Dev] PEP 460 reboot (original) (raw)

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