Alex Martelli wrote: > Martin Drautzburg <[EMAIL PROTECTED]> wrote: > >> > mydata = data( ) >> > mydata.foo = 'foo' >> > mydata.bar = 'bar' >> > >> > print mydata.foo >> > print mydata.bar >> >> I am aware of all this. >> Okay let me rephrase my question: is there a way of using dot >> notation without having to create a class? > > Sure, all you need to create is an *INSTANCE* of a suitable type or > class. For example: > >>>> d = dict(foo=23, bar=45) >>>> m = new.module('for_martin') >>>> m.__dict__.update(d) >>>> m.foo > 23 >>>> m.bar > 45 >>>> > > A module may be appropriate, since it's little more than a "wrapper > around a dict to access items by dot notation":-).
Thanks, I finally got it. Even your previous example actually does the trick. I did not notice that I can use a single class (or a module) for all my datastructures, because I can "plug in" new attributes into the instance without the class knowing about them. I was mistaken to believe that I had to know about attributes at the time of class creation. But your expample does not require that. Should have read this more carefully. -- http://mail.python.org/mailman/listinfo/python-list