[Python-Dev] Summary of "dynamic attribute access" discussion
"Martin v. Löwis"
martin at v.loewis.de
Tue Feb 13 17:20:02 CET 2007
Anthony Baxter schrieb:
>> and the "wrapper class" idea of Nick Coghlan:
>> attrview(obj)[foo]
>
> This also appeals - partly because it's not magic syntax <wink>
I also like this. I would like to spell it attrs, and
I think its specification is
class attrs:
def __init__(self, obj):
self.obj = obj
def __getitem__(self, name):
return getattr(self.obj, name)
def __setitem__(self, name, value):
return setattr(self.obj, name, value)
def __delitem__(self, name):
return delattr(self, name)
def __contains__(self, name):
return hasattr(self, name)
It's so easy people can include in their code for backwards
compatibility; in Python 2.6, it could be a highly-efficient
builtin (you still pay for the lookup of the name 'attrs',
of course).
Regards,
Martin
More information about the Python-Dev
mailing list