Python: Implementieren von Slicing in __getitem __

Ich versuche, eine Slice-Funktionalität für eine Klasse zu implementieren, die eine Vektordarstellung erstellt.

Ich habe diesen Code bisher, von dem ich glaube, dass er den Slice korrekt implementiert, aber wann immer ich einen Aufruf wie @ machv[4] wobei v ein Vektor-Python ist, wird ein Fehler zurückgegeben, wenn nicht genügend Parameter vorhanden sind. Also versuche ich herauszufinden, wie man das @ definiegetitem spezielle Methode in meiner Klasse, um sowohl einfache Indizes als auch das Schneiden zu behandeln.

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]

Antworten auf die Frage(10)

Ihre Antwort auf die Frage