
Skip Montanaro <skip@pobox.com>:
I think we've been around the block on this one a few times. While %{foo} might be a convenient shorthand for %(foo)s, I don't think it saves enough space (one character) or stands out that much more ("{...}" instead of "(...)s") to make the addition worthwhile.
I disagree strongly -- I think it *does* stand out more clearly. The "s" on the end of "%(name)s" too easily gets mixed up with other alphanumeric stuff nearby. If it were just "%(name)" *without* the trailing "s" it wouldn't be nearly as bad, but unfortunately it can't be left off and remain backwards compatible.
What if lid1 is a float which you want to display with two digits past the decimal point?
Then I would use the existing construct -- I'm not suggesting that it be removed.
in which case you also have the problem of having two almost identical ways to do dictionary interpolation.
I don't see that as a big problem. To my mind, practicality beats purity here -- "%(name)s" is too awkward to be practical for routine use. Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | A citizen of NewZealandCorp, a | Christchurch, New Zealand | wholly-owned subsidiary of USA Inc. | greg@cosc.canterbury.ac.nz +--------------------------------------+