切片对象 — Python 文档

来自菜鸟教程
Python/docs/3.6/c-api/slice
跳转至:导航、​搜索

切片对象

PyTypeObject PySlice_Type
切片对象的类型对象。 这与 Python 层中的 slice 相同。
int PySlice_Check(PyObject *ob)
如果 ob 是切片对象,则返回 true; ob 不能是 NULL
PyObject *PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
返回具有给定值的新切片对象。 startstopstep参数作为同名切片对象属性的值。 任何值都可以是 NULL,在这种情况下,None 将用于相应的属性。 如果无法分配新对象,则返回 NULL
int PySlice_GetIndices(PyObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)

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

成功时返回 0,错误时返回 -1,没有设置异常(除非索引之一不是 None 并且无法转换为整数,在这种情况下 [ X179X] 与异常集一起返回)。

您可能不想使用此功能。

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() 的可用替代品。 假设长度为 length 的序列,从切片对象 slice 检索开始、停止和步长索引,并将切片的长度存储在 slicelength 中。 越界索引以与处理正常切片一致的方式进行裁剪。

成功时返回 0,异常集时返回 -1

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


省略号对象

PyObject *Py_Ellipsis
Python Ellipsis 对象。 这个对象没有方法。 在引用计数方面,它需要像任何其他对象一样对待。 像 Py_None 它是一个单例对象。