Whatever happened to String Interpolation?
oren-py-l at hishome.net
Sun Dec 2 16:03:41 CET 2001
On Sat, Dec 01, 2001 at 07:03:19PM +2328, Fernando Pérez wrote:
> Exactly my point. I think when I mentioned my need of inserting % in
> strange dynamic strings I inadvertedly set the discussion off-course.
> That was just a side comment, and by no means the meat of my point.
> My important point is that Ping's PEP allows a _clear_ way of saying
> "x is $x, f(x) is $f(x)"
Will this do?
i"x is `x`, f(x) is `f(x)`"
Take a look at http://www.tothink.com/python/interpp
The difference from Ka-Ping Yee's proposal runs much deeper than the use
of backquotes instead of $. The expressions between backquotes are real
python expressions that get syntax checked at compile time and generate
You may want to write your string formats in one place and pass them as
arguments to be formatted in another context. To do this you can simply
wrap your string in a lambda function:
fmt = lambda: i"x is `x`, f(x) is `f(x)`"
When this function is called in a different context the magic of nested
scopes will do the rest. If you feel this is too much "black magic" you
can also pass arguments to the lambda function.
More information about the Python-list