__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