Объект, представляющий набор индексов, а также метод (способ), используемый для представления некоторой части последовательности.
slice(stop) | slice(start, stop[, step])
-> slice
start=None -- Начальный индекс среза. Если не указан, используется индекс первого элемента «разрезаемого» объекта — `0`.

stop -- Конечный индекс. Если не указан, используется индекс последнего элемента «разрезаемого» объекта.

step=None -- Шаг выборки. Отрицательное значение позволяет строить срез из элементов в обратном порядке.

Объект среза обычно используется для представления той или иной части последовательности.
Объект представляет набор индексов, заданных диапазоном range(start, stop, step).
Объект имеет атрибуты start, stop и step, соответствующие аргументам инициализатора.

Срез последовательности можно создать при помощи расширенного синтаксиса индексирования — квадратных скобок [] с двоеточиями в качестве разделителей внутри. Например: list_[start:stop:step].

На заметку
Многие привыкли понимать слова «взять срез», как «применить объект среза к последовательности», а не просто, как «создать объект среза», поэтому «срезом» в данной стратье мы называем и способ (действие над последовательностью), и сам объект.

# «Берём срез строки» или
# «Создаем объект среза и применяем к строке»
'самоходка'[4:1:-1] # 'хом'

slice_ = slice(2, 4)
slice_.start # 2
slice_.stop # 4
slice_.step # None

list_ = [5, 6, 7, 8, 9]

list_[slice_]
list_[2:4]
# [7, 8]

list_[slice(1, None)]
list_[1:]
# [6, 7, 8, 9]

list_[slice(None, -1)]
list_[:-1]
# [5, 6, 7, 8]

list_[slice(None, None, 2)]
list_[::2]
# [5, 7, 9]

list_[slice(None)]
list_[::]
# [5, 6, 7, 8, 9]

list_[slice(2)]
list_[:2:]
# [5, 6]

list_[slice(None, None, -1)]
list_[::-1]
# [9, 8, 7, 6, 5]

На заметку
Использование itertools.islice() позволяет получить срез-итератор.
Синонимы поиска: [:], срезы

Нет обсуждений для отображения.
Если у вас есть, что сказать, можете представиться и исправить ситуацию.