I think every Python developer worth their salt implemented a class like this at least once in their career (mine was even called DStruct :-) ). And probably at a certain later point decided it was not that good an idea.
(essentially chosen only because it was "prettier").
That was my reason as well. It is easier/prettier to write a.b.c. instead of ['a']['b']['c']. But that's all.