[Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5

Chris Angelico rosuav at gmail.com
Mon Jan 6 14:54:17 CET 2014


On Tue, Jan 7, 2014 at 12:44 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> BTW, there's a subtlety here: ``%s`` currently means "insert the result
> of calling __str__", but bytes formatting should *not* call __str__.

Since it derives from the C printf notation, it means "insert string
here". The fact that __str__ will be called is secondary to that. I
would say it's not a problem for bytes formatting to call __bytes__,
or in some other way convert to bytes without calling __str__.

Will it be confusing to have bytes and str supporting distinctly
different format operations? Might it be better to instead create a
separate and very different method on a bytes, just to emphasize the
difference?

ChrisA


More information about the Python-Dev mailing list