Я не знаю, почему это не работает:
Я использую класс odict из PEP 372 , но я хочу использовать его в качестве члена __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)])
Я чувствую себя очень глупо. Вы можете мне помочь?