[Python-Dev] New syntax for 'dynamic' attribute access (original) (raw)

Brett Cannon brett at python.org
Mon Feb 12 04:59:14 CET 2007


On 2/11/07, Ben North <ben at redfrontdoor.org> wrote: [SNIP]

* The draft currently allows a two-argument form, to supply a default value if the object has no attribute of that name. This mimics the behaviour of the three-argument form of getattr, but looks a bit wrong:

s = obj.(attrname, 'default string') I agree that it looks odd, but perhaps the extra expressive power gained might be worth the oddness.

I don't think it is. getattr can just be kept around if need be in order to support this use case. It just makes it look like too much of a function call at that point to me, especially if someone ends up writing some expression that is so long that they put in a newline between the two values:

s = obj.(attr_name, 'default_string')

So -1 on the two-item version, +0 on the one-item version.

-Brett



More information about the Python-Dev mailing list