__getitem__
Jaume Martin Claramonte
jaumartin en gmail.com
Lun Abr 23 23:50:51 CEST 2007
El lun, 23-04-2007 a las 14:48 +0200, Alexis Roda escribió:
> En/na Jaume Martin Claramonte ha escrit:
>
> > si basicamente seria eso, pongo el codigo para que quede mas caro.
> >
> > class Pieza:
> > def __init__(self, c_max=50, t_max=10, h_max=100, l_max=100):
> > self.vec_piezas = self.creapiezas(c_max, t_max, h_max, l_max)
> > self.n = c_max
> >
> > def creapiezas(self, c_max=50, t_max=10, h_max=100, l_max=100):
> > vec = []
> > ...
> > ...
> > return vec
> >
> > def __getitem__(self, i):
> > if i > len(self):
> > raise IndexError, "list index out of range"
> > elif i < 0 and abs(i) < len(self):
> > index = len(self) - i
> > return """Devolver el valor del indice correspondiente """
> > else:
> > return """Devolver el valor del indice correspondiente """
>
> Por lo que veo, aparte del uso de len(self) que no tengo claro como está
> implementado, tu __getitem__ emula el acceso a una lista, comprobando
> límites y soportando índices negativos etc. Porque no delegas en el
> __getitem__ de vec_piezas y dejas que python se encargue de todo ? Algo
> como:
>
> def __getitem__(self, i) :
> return self.vec_piezas[i]
>
>
Gracias me ha parecido mas simple lo tuyo, y es lo que he usado, pero lo
que ha respondido el otro compalero es tambien interesante sobre todo
para mi que estoy aprendiendo, muchas gracias.
> Saludos
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es