Thanos Tsouanas a écrit :
> Hello.
>
> I would like to have a quick way to create dicts from object, so that a
> call to foo['bar'] would return obj.bar.
>
> The following works, but I would prefer to use a built-in way if one
> exists. Is there one?
>
> Thanks in advance.
>
> class dictobj(dict):
> """
> class dictobj(dict):
> A dictionary d with an object attached to it,
> which treats d['foo'] as d.obj.foo.
> """
> def __init__(self, obj):
> self.obj = obj
> def __getitem__(self, key):
> return self.obj.__getattribute__(key)
I'd replace this last line with:
return getattr(self.obj, key)
Now given your specs, I don't see what's wrong with your solution.
--
http://mail.python.org/mailman/listinfo/python-list