Python: implementando o fatiamento no __getitem__
Estou tentando implementar a funcionalidade de fatia para uma classe que estou criando que cria uma representação vetorial.
Eu tenho esse código até agora, que acredito que implementará corretamente a fatia, mas sempre que eu fizer uma chamada comov[4]
onde v é um vetor python retorna um erro por não ter parâmetros suficientes. Então, eu estou tentando descobrir como definir ogetitem
método especial na minha classe para lidar com índices simples e fatiar.
def __getitem__(self, start, stop, step):
index = start
if stop == None:
end = start + 1
else:
end = stop
if step == None:
stride = 1
else:
stride = step
return self.__data[index:end:stride]