Subclassing dict would have been great if done at the beginning. I would have to change a lots of thing I think. But I may have one solution, that both saves time and lines of code:

    def __getitem__(self, item):
        return getattr(self, item)

This allows to do something like 'my_string %(format)s' % self, and it even works with `@property`