* dmtr, on 03.06.2010 23:00:
How can I create an empty object with dynamic attributes? It should be
something like:

m = object()
m.myattr = 1

But this doesn't work. And I have to resort to:

class expando(object): pass
m = expando()
m.myattr = 1

Is there a one-liner that would do the thing?

<example>
  >>> m = lambda:0
  >>> m.myattr = 1
  >>> m.myattr
  1
  >>> _
</example>

But I feel that that is an abuse of the language, and that an Expando class like you show is far better.

Thanks for the class name suggestion, by the way -- I've wondered what to call such a class, and now it's clear. :-)


Cheers & hth.,

- Alf

--
blog at <url: http://alfps.wordpress.com>
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to