Üben Sie die Beispiele gepostet here zum Erlernen von Python OOP. Ich suche nach der Ausgabe von '1 bis 4', aber stattdessen wird der Fehler unten angezeigt.Python getslice Element Operator Override Funktion funktioniert nicht
class FakeList:
def __getslice___(self,start,end):
return str(start) + " to " + str(end)
f = FakeList()
f[1:4]
Hinweis: Die Verwendung f.__getitem__(1, 4)
Ergebnisse in der richtigen Ausgabe - "1 bis 4", wie in der obigen Verbindung gezeigt.
Traceback (most recent call last) in() ----> 1 f[1:4]
TypeError: 'FakeList' object is not subscriptable
Was die Python-Version ist? – vaultah
Verwenden von Version 3.5 –
Verwenden Sie nicht '__getslice__', es wurde lange zurückgewiesen und in Python 3 entfernt. Verwenden Sie' __getitem__', es unterstützt Slice-Objekte. –