[pyar] o bien __get_item__ apesta o yo no entiendo algo
Claudio Freire
klaussfreire en gmail.com
Mie Mayo 7 17:16:27 ART 2014
2014-05-07 17:12 GMT-03:00 Claudio Freire <klaussfreire en gmail.com>:
> Si sólo te interesa slicear con iterables o no, podés hacer:
>
> def __getitem__(self, indexes):
> return getattr(self, '__getitem_%s__' %
> (('scalar','iterable')[hasattr(indexes, '__iter__')],))(indexes)
>
> def __getitem_scalar__(self, index):
> return self.ojota_class(**self._list[indexes])
>
> def __getitem_iterable__(self, indexes):
> return type(self)(map(self._list.__getitem__, indexes)) # o
> self.__class__(...) si es una clase old-style
Falta manejar los slices, que me acabo de dar cuenta no son iterables
directamente sino a través de indices(). Bue, pero captás la idea
imagino.
More information about the pyar
mailing list