To avoid implicit conversion between str and bytes, I propose adding only limited %-format, 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 <solip...@pitrou.net> wrote: > On Fri, 10 Jan 2014 18:14:45 -0500 > "Eric V. Smith" <e...@trueblade.com> wrote: > > > > >> Because embedding the ASCII equivalent of ints and floats in byte > streams > > >> 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. > > Regards > > Antoine. > > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > https://mail.python.org/mailman/options/python-dev/songofacandy%40gmail.com > -- INADA Naoki <songofaca...@gmail.com>
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com