Slice Objects

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

如果成功,则返回0,如果没有错误,则返回-1,且未设置任何异常(除非其中一个索引不是None且未能转换为整数,在这种情况下,将返回-1并设置了异常)。

您可能不想使用此Function。

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

如果设置了异常,则返回0成功,返回-1错误。

Note

对于可调整大小的序列,此Function不安全。应将其调用替换为PySlice_Unpack()PySlice_AdjustIndices()的组合,其中

if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) < 0) {
// return error
}

被替换为

if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {
// return error
}
slicelength = PySlice_AdjustIndices(length, &start, &stop, step);

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

在版本 3.6.1 中更改:如果未设置Py_LIMITED_API或将其设置为0x030504000x03060000之间的值(不包括)或0x03060100或更高版本PySlice_GetIndicesEx(),则使用PySlice_Unpack()PySlice_AdjustIndices()实现为宏。对参数* start stop step *进行了多次评估。

从版本 3.6.1 开始不推荐使用:如果Py_LIMITED_API的值小于0x030504000x030600000x03060100(不包括)之间,则PySlice_GetIndicesEx()是不推荐使用的Function。

错误返回-1,成功返回0

版本 3.6.1 中的新Function。

返回切片的长度。永远成功。不调用 Python 代码。

版本 3.6.1 中的新Function。

Ellipsis Object

首页