__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