On 10Aug2015 23:22, Vladimir Ignatov <kmis...@gmail.com> wrote:
In my code I often use my own home-brewed object for passing bunch of
data between functions. Something like:

class Data(object):
   def __init__ (self, **kwargs):
       self.__dict__ = kwargs
....

return Data(attr1=..., attr2=..., attr3=...)

Logically it works like plain dictionary but with nice result.attrX
syntax on client side (instead of resut['attrX']).   Overall I am
pretty happy with this approach except that I need to drag Data class
around my projects and import its module in every code producing data.

I've got a base class called "O" like that:
 https://pypi.python.org/pypi/cs.obj/

I am curious if anybody knows similar "dummy" class located in
standard libraries? I'd be glad to use it instead.

namedtuple initialises and accesses like that:

   >>> from collections import namedtuple
   >>> Klass = namedtuple('Klass', 'a b c')
   >>> o1 = Klass(1,2,3)
   >>> o1
   O(a=1, b=2, c=3)
   >>> o1.b
   2
   >>> o2 = Klass(a=1,c=3,b=2)
   >>> o2
   O(a=1, b=2, c=3)

namedtuple makes a factory for making particular flavours.
And the result us a tuple, not a dict.

I also thought the stdlib had some kind of "namespace" class with this kind of API, but I can't find it now:-(

Cheers,
Cameron Simpson <c...@zip.com.au>

Always code as if the guy who ends up maintaining your code will be a violent
psychopath who knows where you live.
       - Martin Golding, DoD #0236, mar...@plaza.ds.adp.com
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to