Slice Objects¶
- PyTypeObject
PySlice_Type
¶ 切片对象的类型对象。这与Python层中的
slice
相同。
- 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*
之前。