A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2014-January/131320.html below:

[Python-Dev] PEP 460: allowing %d and %f and mojibake

[Python-Dev] PEP 460: allowing %d and %f and mojibake [Python-Dev] PEP 460: allowing %d and %f and mojibakeEthan Furman ethan at stoneleaf.us
Sun Jan 12 23:01:27 CET 2014
On 01/12/2014 01:37 PM, Kristján Valur Jónsson wrote:
> Right.
> I'm saying, let's support two interpolators only:
> %b interpolates a bytes object (or one supporting the charbuffer interface) into a bytes object.
> %s interpolates a str object by first converting to a bytes object using strict ascii conversion.
>
> This makes it very explicit what we are trying to do. I think that using %s to interpolate a bytes object like the current PEP does is a bad idea, because %s already means 'str' elsewhere in the language, both in 2.7 and 3.x
>
> As for the case you mention:
> b"abc %s" % (b"def",) -> b"abc def"
> b"abc %s" % (b"def",) -> b"abc b\"def\""  # because str(bytesobject) == repr(bytesobject)
>
> This is perfectly fine, imho.  Let's not overload %s to mean "bytes" in format strings if those format strnings are in fact not strings byt bytes. That way madness lies.

You didn't say, but I'm guessing you mean the second one is fine?  if 2/3 compatible code is the goal, the first should 
be what we get.

--
~Ethan~
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4