What I am looking for is having something like this:
self.info['key'].attr2
But I'm not sure what would be the most elegant way to achieve it. So far I have defined a dictionary like below but don't have attributes from it.
self.info = {}
self.info.update({'key':
{'attr1': 2,
'attr2': lambda: self.func(arg1)}
})
But then I would have to use it like:
self.info['key']['attr2']()
Note that what I am looking for is accessing the dictionary values like attributes. This thread has an answer which can be used in my case also probably that is I make an object out of the sub-dictionary from above and give it as a value to the main dictionary.
But I wonder if there is nicer way, perhaps with decorators and with less lines of codes and maybe even without using dictionaries do to something like what I described in the first line, perhaps even better like:
self['key'].attr2