Getting a dictionary from an object

Bruno Desthuilliers bdesth.quelquechose at
Sat Jul 23 11:30:19 CEST 2005

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
> 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
>     """
>     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.

More information about the Python-list mailing list