Getting a dictionary from an object
Mike Moum
DoubleMPi at Netscape.com
Wed Aug 3 22:22:53 EDT 2005
Thanos Tsouanas wrote:
I'm not sure what you're getting at, but have you tried this:
class A(object):
def __getitem__(self, ky):
return self.__dict__[ky]
for example:
>>> class A(object):
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
def __getitem__(self, ky):
return self.__dict__[ky]
>>> a = A(1,2,3)
>>> a['a']
1
>>> a['b']
2
>>>
> 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)
>
More information about the Python-list
mailing list