[Python-Dev] PEP 461 - Adding % and {} formatting to bytes
Eric V. Smith
eric at trueblade.com
Fri Jan 17 13:34:13 CET 2014
More information about the Python-Dev mailing list
Fri Jan 17 13:34:13 CET 2014
- Previous message: [Python-Dev] PEP 461 - Adding % and {} formatting to bytes
- Next message: [Python-Dev] PEP 461 - Adding % and {} formatting to bytes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 1/17/2014 6:42 AM, Nick Coghlan wrote: > > On 17 Jan 2014 18:03, "Eric Snow" <ericsnowcurrently at gmail.com > <mailto:ericsnowcurrently at gmail.com>> wrote: >> >> On Thu, Jan 16, 2014 at 11:30 AM, Eric V. Smith <eric at trueblade.com > <mailto:eric at trueblade.com>> wrote: >> > For the first iteration of bytes.format(), I think we should just >> > support the exact types of int, float, and bytes. It will call the >> > type's__format__ (with the object as "self") and encode the result to >> > ASCII. For the stated use case of 2.x compatibility, I suspect this will >> > cover > 90% of the uses in real code. If we find there are cases where >> > real code needs additional types supported, we can consider adding >> > __format_ascii__ (or whatever name we cook up). >> >> +1 > > Please don't make me learn the limitations of a new mini language > without a really good reason. > > For the sake of argument, assume we have a Python 3.5 with bytes.__mod__ > restored roughly as described in PEP 461. *Given* that feature set, what > is the rationale for *adding* bytes.format? What new capabilities will > it provide that aren't already covered by printf-style interpolation > directly to bytes or text formatting followed by encoding the result? The only reason to add any of this, in my mind, is to ease porting of 2.x code. If my proposal covers most of the cases of b''.format() that exist in 2.x code that wants to move to 3.5, then I think it's worth doing. Is there any such code that's blocked from porting by the lack of b''.format() that supports bytes, int, and float? I don't know. I concede that it's unlikely. IF this were a feature that we were going to add to 3.5 on its own merits, I think we add __format_ascii__ and make the whole thing extensible. Is there any new code that's blocked from being written by missing b"".format()? I don't know that, either. Eric.
- Previous message: [Python-Dev] PEP 461 - Adding % and {} formatting to bytes
- Next message: [Python-Dev] PEP 461 - Adding % and {} formatting to bytes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list