我不知道为什么这个不起作用:
我正在使用来自PEP 372的odict类,但是我想将其用作__dict__
成员,即:
class Bag(object):
def __init__(self):
self.__dict__ = odict()
但出于某种原因,我得到了奇怪的结果。这个是可行的:
>>> b = Bag()
>>> b.apple = 1
>>> b.apple
1
>>> b.banana = 2
>>> b.banana
2
但是尝试访问实际的字典并不起作用:
>>> b.__dict__.items()
[]
>>> b.__dict__
odict.odict([])
还有更奇怪的事情:
>>> b.__dict__['tomato'] = 3
>>> b.tomato
3
>>> b.__dict__
odict.odict([('tomato', 3)])
我感觉自己很蠢,你能帮我解决问题吗?