I don't know why this doesn't work:
I'm using the odict class from PEP 372, but I want to use it as a __dict__
member, i.e.:
class Bag(object):
def __init__(self):
self.__dict__ = odict()
But for some reason I'm getting weird results. This works:
>>> b = Bag()
>>> b.apple = 1
>>> b.apple
1
>>> b.banana = 2
>>> b.banana
2
But trying to access the actual dictionary doesn't work:
>>> b.__dict__.items()
[]
>>> b.__dict__
odict.odict([])
And it gets weirder:
>>> b.__dict__['tomato'] = 3
>>> b.tomato
3
>>> b.__dict__
odict.odict([('tomato', 3)])
I'm feeling very stupid. Can you help me out?