'class' named tuple

Arnaud Delobelle arnodel at gmail.com
Wed Feb 1 02:17:10 EST 2012


On 1 February 2012 00:54, Emmanuel Mayssat <emayssat at gmail.com> wrote:
> I have the following program.
> I am trying to have index the attributes of an object using __getitem__.
> Reading them this way works great, but assigning them a value doesn't
> Is there a way to do such a thing?
> (Almost like a named tuple, but with custom methods)
>
> class LIter(object):
>    def __init__(self,parent=None):
>        super(LIter, self).__init__()
>        self.toto = 3
>        self.tata = 'terto'
>

Add
    _attrs = 'toto', 'tata'
    def __getitem__(self, index):
        return getattr(self, _attrs[index])
    def __setitem__(self, index, value)
        setattr(self, _attrs[index], value)

-- 
Arnaud



More information about the Python-list mailing list