__getitem__

Alexis Roda alexis.roda.villalonga en gmail.com
Lun Abr 23 14:48:00 CEST 2007


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]




Saludos
------------ 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