[Python-Dev] Summary of "dynamic attribute access" discussion

Georg Brandl g.brandl at gmx.net
Tue Feb 13 18:11:37 CET 2007


Martin v. Löwis schrieb:
> 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).

I fear people will confuse vars() and attrs() then.

Georg



More information about the Python-Dev mailing list