[Python-Dev] PEP 215 redux: toward a simplified consensus?
Guido van Rossum
guido@python.org
Mon, 25 Feb 2002 16:06:15 -0500
Mon, 25 Feb 2002 16:06:15 -0500
- Previous message: [Python-Dev] PEP 215 redux: toward a simplified consensus?
- Next message: [Python-Dev] PEP 215 redux: toward a simplified consensus?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> String interopolation should be a *compile time* action, not an > operator. One of the goals, in my mind, is to allow people to string > interpolate without knowing what the locals() function does. After all, > that function is otherwise useless for most Python programmers (and > should probably be moved to an introspection module). > > Your strategy requires the naive user to learn a) the $ syntax, b) the > magic operator syntax and c) the meaning of the locals() function. Plus > you've thrown away the idea that interpolation works as it does in the > shell or in Perl/Awk/Ruby etc. > > At that point, in my mind, we're back where we started and should just > use %. Well have reinvented it with a few small tweaks. > > Plus, operator-based evaluation has some security implications that > compile time evaluation does not. In particular, if the left-hand thing > can be any string then you have the potential of accidentally allowing > the user to supply a string that allows him/her to introspect your local > variables. That can't happen if the interpolation is done at compile > time. All right, but there *also* needs to be a way to invoke interpolation explicitly -- just like eval(). This has applicability e.g. in i18n. --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] PEP 215 redux: toward a simplified consensus?
- Next message: [Python-Dev] PEP 215 redux: toward a simplified consensus?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]