Объекты срезов¶Slice Objects
-
PyTypeObject
PySlice_Type¶ Объект типа для объектов среза. Это то же самое, что
sliceна уровне Python.
-
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(PyObject *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с установленным исключением).Скорее всего, эту функцию не следует использовать.
Изменено в версии 3.2: Тип параметра для параметра slice ранее был
PySliceObject*.
-
int
PySlice_GetIndicesEx(PyObject *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при ошибке с установленным исключением.Изменено в версии 3.2: Тип параметра для параметра slice ранее был
PySliceObject*.