2015-06-24 4 views
0

В Lua вы можете обратиться ключи словаря, как атрибуты:Lua-как ДИКТ в Python

d = {a = 1, b = 1} 
d['a'] == d.a -- this returns true 

Есть ли что-то подобное в Python? Я заметил, что объекты скелетного сложения имеют схожие свойства.

+2

Возможный дубликат [Преобразование Python dict в объект?] (Http://stackoverflow.com/questions/1305532/convert-python-dict-to-object) – IanAuld

+0

Я думаю, одна из причин, по которым Lua использует 'da 'Синтаксический сахар' d ['a'] 'заключается в том, что Lua использует' t: func() 'в своем собственном уникальном стиле ООП. Это не относится к Python. –

ответ

4

Нет, только действительные способы доступа к dict с помощью ключа являются d['a'] или d.get('a')

Первое может поднять KeyError если ключ не в dict, а последний принимает второй необязательный аргумент, что оно вернется, если ключ не найден.

2

Вы можете создать класс и использовать setattr для доступа к атрибутам таким образом, хотя это кажется излишним для удобства. Вы могли бы сделать это и с любым старым объектом, но я бы не рекомендовал его.