Документация Python неофициальный перевод

Объекты срезовSlice Objects

PyTypeObject PySlice_Type

Объект типа для объектов срезов. Он идентичен slice и types.SliceType.

int PySlice_Check(PyObject *ob)

Возвращает true, если ob является объектом среза; ob не должен быть NULL.

PyObject* PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
Возвращаемое значение: новая ссылка.

Возвращает новый объект среза с указанными значениями. Параметры start, stop и step используются как значения одноимённых атрибутов объекта среза. Любое из значений может быть NULL; в этом случае для соответствующего атрибута будет использовано None. Возвращает NULL, если не удалось выделить память под новый объект.

int PySlice_GetIndices(PySliceObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)

Извлекает индексы start, stop и step из объекта среза slice, предполагая последовательность длины length. Считает индексы, превышающие length, ошибками.

Возвращает 0 при успехе и -1 при ошибке без установленного исключения (если только один из индексов не был None и не удалось преобразовать его в целое число, в этом случае возвращается -1 с установленным исключением).

Вероятно, вам не следует использовать эту функцию. Если вы хотите использовать объекты срезов в версиях Python до 2.3, вероятно, стоит включить исходный код PySlice_GetIndicesEx(), переименовав его соответствующим образом, в исходный код вашего расширения.

Изменено в версии 2.5: Эта функция использовала тип int для length и int * тип для start, stop и step. Это может потребовать изменений в вашем коде для корректной поддержки 64-разрядных систем.

int PySlice_GetIndicesEx(PySliceObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength)

Пригодная замена для PySlice_GetIndices(). Извлекает индексы start, stop и step из объекта среза slice, предполагая последовательность длины length, и сохраняет длину среза в slicelength. Выходящие за границы индексы обрезаются в соответствии с обработкой обычных срезов.

Возвращает 0 при успехе и -1 при ошибке с установленным исключением.

Новое в версии 2.3.

Изменено в версии 2.5: Эта функция использовала тип int для length и int * тип для start, stop, step и slicelength. Это может потребовать изменений в вашем коде для корректной поддержки 64-разрядных систем.

Объект EllipsisEllipsis Object

PyObject *Py_Ellipsis

Объект Python Ellipsis. У этого объекта нет методов. С точки зрения подсчёта ссылок с ним нужно обращаться как с любым другим объектом. Как и Py_None, это объект-одиночка.