Я пытаюсь реализовать функциональность среза для класса, который я создаю, который создает векторное представление.
У меня есть этот код до сих пор, который, как я считаю, будет правильно реализовывать срез, но всякий раз, когда я делаю вызов типа v[4]
, где v - это векторный питон, возвращается ошибка об отсутствии достаточных параметров. Поэтому я пытаюсь выяснить, как определить специальный метод getitem
в моем классе для обработки как простых индексов, так и нарезки.
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]