On 2015-08-31 9:10 AM, Nick Coghlan wrote:
On 30 August 2015 at 23:41, Eric V. Smith email@example.com wrote:
Note there's a companion PEP 501 which extends this idea by delaying converting the expression into a string. This allows for more control over how the expressions are converted in to strings, and allows for non-string conversions as well.
For the benefit of folks that weren't following the (many) iterations on python-ideas: PEP 501's general purpose string interpolation started out as a competitor to 498, but as the discussion continued and my ideas started to converge more and more with Eric's, I eventually realised it made more sense as an optional extension to PEP 498 that exposed the inner workings of the scope aware interpolation machinery to Python code.
If PEP 501 is an extension to PEP 498, then the proposal is to add i'' prefix *in addition* to f'', right?
If so, I think it might be confusing to a lot of people on what prefix should be used and when. I think it's too easy for an average user to write ``os.system(f'...')`` and think that their code is fine, instead of ``os.system(i'...')``. What's worse, is that there is no way for ``os.system()`` to reject the former use.
Second, given that we use "f" for "formatted", using "i" for "interpolated template" is a bit confusing. Can we use "t" ("template strings")?