Hallvard B Furuseth <[EMAIL PROTECTED]> wrote: > Does this class need anything more? > Is there any risk of a lookup loop? > Seems to work... > > class attrdict(dict): > """Dict where d['foo'] also can be accessed as d.foo""" > def __init__(self, *args, **kwargs): > self.__dict__ = self > dict.__init__(self, *args, **kwargs) > def __repr__(self): > return dict.__repr__(self).join(("attrdict(", ")"))
The problem is mostly that, given an instance a of attrdict, whether you can call (e.g.) a.update(foo) depends on whether you ever set a['update'], making the whole program extremely fragile -- a very high price to pay for some modest amount of syntax sugar. Alex -- http://mail.python.org/mailman/listinfo/python-list