Using an ordered dict as object dictionary in python
问题 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