[Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5
songofacandy at gmail.com
Sat Jan 11 04:30:23 CET 2014
To avoid implicit conversion between str and bytes, I propose adding only
not .format() or .format_map().
"limited %-format" means:
%c accepts integer or bytes having one length.
%r is not supported
%s accepts only bytes.
%a is only format accepts arbitrary object.
And other formats is same to str.
On Sat, Jan 11, 2014 at 8:24 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Fri, 10 Jan 2014 18:14:45 -0500
> "Eric V. Smith" <eric at trueblade.com> wrote:
> > >> Because embedding the ASCII equivalent of ints and floats in byte
> > >> is a common operation?
> > >
> > > Again, if you're representing "ASCII", you're representing text and
> > > should use a str object.
> > Yes, but is there existing 2.x code that uses %s for int and float
> > (perhaps unwittingly), and do we want to "help" that code out?
> > Or do we
> > want to make porters first change to using %d or %f instead of %s?
> I'm afraid you're misunderstanding me. The PEP doesn't allow for %d and
> %f on bytes objects.
> > I think what you're getting at is that in addition to not calling
> > __format__, we don't want to call __str__, either, for the same reason.
> Not only. We don't want to do anything that actually asks for a
> *textual* representation of something. %d and %f ask for a textual
> representation of a number, so they're right out.
> Python-Dev mailing list
> Python-Dev at python.org
INADA Naoki <songofacandy at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-Dev