2013-09-20 2 views
3

Я не могу получить доступ к элементам() из словаря, возвращаемого свойством т.е. словаряНе удается получить доступ к элементам() из словаря, возвращаемого свойством

{{obj.prop}} 

возвращается, в то время как

{{obj.prop.items}} 

пуст. Вот это свойство само

@property 
def prop(self): 
    return self.__mydict 

Что может быть не так?

+3

Dunno. Возможно, вы должны показать код свойства. –

+0

Просто потому, что словарь существует, не означает, что он содержит что-либо. Вы уверены, что словарь содержит содержимое? –

+0

{{obj.prop}} отображает содержимое словаря – koresh

ответ

1

В словаре Python нет поля с именем items, однако он имеет функцию, называемую items.

Вот пример из PEP 3106: http://www.python.org/dev/peps/pep-3106/

a = d.items() 
for k, v in a: ... 
# And later, again: 
for k, v in a: ... 

Если вы хотите, чтобы подтвердить, что вы можете перейти к интерактивному терминалу Пайтона, создать объект (например, объект), и тип help(obj.prop), вы должны увидеть все доступные поля и функции.

Вернемся к вашему вопросу, вместо этого вы должны использовать obj.prop.items().

Смежные вопросы