[Python-Dev] Re: PEP 292, Simpler String Substitutions
Guido van Rossum
guido@python.org
Wed, 19 Jun 2002 21:06:27 -0400
> As Barry noted, this isn't as powerful as PEP 215 (er, was that the
> right number? The earlier $interpolation one, anyway) because it
> doesn't allow arbitrary expressions.
That's intentional. Trying to put an expression parser in the
interpolation code quickly leads to insanity.
> I'd imagine a common use case
> would be to shortcut an expression without binding it to a local
> variable,
>
> "The length is ${length}".sub(length = len(someString))
>
> In this case it would be handy to use the default environment overridden
> by the new bindings, so you could do
>
> "The length of ${someString} is ${length}".sub(length =
> len(someString))
>
> But that could get messy real fast. The idiom could be
>
> "The length of ${someString} is ${length}".sub(someString =
> someString, length = len(someString))
>
> But that's ugly.
I think you're simply trying to do too much in one line. Simple is
better than complex.
--Guido van Rossum (home page: http://www.python.org/~guido/)