【发布时间】:2010-10-02 02:06:49
【问题描述】:
我不知道为什么这不起作用:
我正在使用来自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)])
我觉得自己很愚蠢。你能帮帮我吗?
【问题讨论】: