[Python-Dev] dict() enhancement idea? (original) (raw)
Barry A. Warsaw barry@python.org
Thu, 21 Nov 2002 11:01:17 -0500
- Previous message: [Python-Dev] dict() enhancement idea?
- Next message: [Python-Dev] dict() enhancement idea?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"JvR" == Just van Rossum <just@letterror.com> writes:
JvR> But: no, I simply find the {"key": "value"} syntax sometimes
JvR> inappropriate. Consider the following example:
Me too, and I have something similar in Mailman. It's fine that keys are limited to identifiers (although I did recently have one small related bug because of this in a mostly unused corner of the code).
| # idiom 2
| name1 = foo()
| name2 = foo()
| x = template % locals()
| # idiom 3 (after my patch, or with a homegrown function)
| x = template % dict(key1=foo(), key2=baz())
JvR> I find #3 more readable than #1. #2 ain't so bad, but I hate
JvR> it that when you're quickly going over the code it looks like
JvR> there are some unused variables.
I go even a step farther than #2 with my i18n idiom, e.g.
name1 = foo()
name2 = foo()
x = _(template)
Where _() does a sys._getframe() and automatically sucks the locals and globals for interpolation. Works great, but it gives pychecker fits. :)
I like both the **kws addition as well as the keywords-as-attributes conveniences.
-Barry
- Previous message: [Python-Dev] dict() enhancement idea?
- Next message: [Python-Dev] dict() enhancement idea?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]