Slice Objects

PyTypeObject PySlice_Type

切片对象的类型对象。这与Python层中的slice相同。

int PySlice_Check(PyObject *ob)

如果ob是slice对象,则返回true; ob不能为NULL

PyObject* PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
返回值:新引用。

返回具有给定值的新slice对象。开始停止步骤参数用作相同名称的切片对象属性的值。任何值可以是NULL,在这种情况下,None将用于相应的属性。如果无法分配新对象,则返回NULL

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

从片对象中检索开始,停止和步骤索引,假设长度长度的序列。将大于长度的索引视为错误。

在成功时返回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()从片对象切片中检索开始,停止和步骤索引,假设长度长度的序列,并将片段的长度存储在slicelength t2 >。以与正常切片的处理一致的方式剪切超出边界的索引。

成功返回0,异常设置返回-1。

在版本3.2中更改: slice参数的参数类型为PySliceObject*之前。