Я читал кое-что о срезе в Python 3. Затем я написал программу, попытался реализовать __ getitem__ (self, slice (s))
. Код находится ниже:
class NewList:
def __init__(self, lst):
print('new list')
self._list = lst
def __getitem__(self, x):
if type(x) is slice:
return [ self._list[n] for n in range(x.start, x.stop, x.step) ] #error?
else:
return self._list[x]
...
nl1 = NewList([1,2,3,4,5])
nl1[1:3] #error occurs
Затем я обнаружил, что x.step
is None
, что привело к возникновению исключения в диапазоне.
Итак, как мне реализовать метод __ getitem __
?