__getitem__

Jaume Martin Claramonte jaumartin en gmail.com
Lun Abr 23 13:05:04 CEST 2007


El dom, 22-04-2007 a las 21:59 +0200, Alexis Roda escribió:
> En/na Jaume Martin Claramonte ha escrit:
> > Hola, estoy contruyendo una clase que tiene dos campos, un vector y un
> > entero, necesito contruir el __getitem__ para acceder a elementos de la
> > lista pero nose como hacerlo ya que si uso el [] soble la misma lista
> > entra en recursion infinita, como lo soluciono?
> 
> No estoy seguro de entender el problema:
> 
> class A :
>    def __init__(self, v, ...) :
>      ...
>      self.vector = v
>      ...
> 
>    def __getitem__(self, i) :
>      return self.vector[i]

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 """
> _______________________________________________
> 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