Я хочу сделать dict int, к которому вы можете получить доступ следующим образом:
>>> my_dict["property'] = 3
>>> my_dict.property
3
Итак, я сделал это:
class DictAsMember(dict):
def __getattr__(self, name):
return self[name]
Это отлично работает, но если у вас есть вложенные диктовки, это не работает, например:
my_dict = DictAsMember()
my_dict["property"] = {'sub': 1}
Я могу получить доступ к my_dict.property, но логически я не могу сделать my_dict.property.sub, потому что свойство является dict по умолчанию, поэтому я хочу перезаписать dict по умолчанию, поэтому вы можете использовать {}.
Возможно ли это?