"str"(expr)"str" interpolation syntax
Beni Cherniavsky
cben at tx.technion.ac.il
Thu Sep 12 14:50:36 EDT 2002
"Mark McEahern" <marklists at mceahern.com> wrote on 2002-09-10:
> Beni Cherniavsky wrote:
> > I was searching for a new interpolation syntax ...
>
> <applying the brakes>
>
> You might be interested to:
>
> 1. Checkout the PEPs for string interpolation and simple string
> substitution.
> 2. Read this thread:
>
> http://groups.google.com/
> groups?selm=ouit4e63fr.fsf%40andlx-anamika.cisco.com
>
> 3. Read the archives from Python-Dev regarding the relevant PEPs.
>
Read them all before (except py-dev but I dind't find much new there now).
> After you do all that, you may reconsider or reframe your suggestion in
> light of what has been discussed.
>
To tell the truth my idea looked nice while I tossed it in my head but when
I actually wrote the post I noticed that something doesn't look well...
The "Bleagh" reply said it best though perhaps a bit strongly :-)
Anyway I wanted to get feedback on how it looks to others.
As for the motivation [to answer the other posts]: I'm a happy user of
"%d" % x but I was targeting here the cases of long strings and other
reasons why PEPs 215 and 292 came to be. I didn't like (and still don't)
the idea that I need to scan string literals for _code_. Especially if I
might want to nest strings inside that code... It can confuse editors but
that's a sign it can also confuse me. I thought for a moment that I found
a nice solution but it turns out not to be nice... Still I don't like
interpolations as in the PEPs. [Never liked double quotes in perl/shell
either]. I'd rather stick to %s...
Maybe something very simple along the lines of:
subst("A template string - here: % it goes\n", foo,
"Also multiple values: %, %\n", bar, quux,
"Quoting percent (%) sings probably not needed...\n", '%')
could be useful... Yes it smells like perl formats but the
intelacing of pictures/values is really near optimal IMHO. I've just
read perl 6's plans for formats and they have hyphenation! Beat me
if I want that in a language core ;-)
More information about the Python-list
mailing list