我不知道为什么这不起作用:
我正在使用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)])
我觉得非常愚蠢。你能帮我吗?