切片物件¶
- PyTypeObjectPySlice_Type¶
- 為穩定 ABI 的一部分.
The type object for slice objects. This is the same as
slice
in thePython layer.
- intPySlice_Check(PyObject*ob)¶
Return true ifob is a slice object;ob must not be
NULL
. Thisfunction always succeeds.
- PyObject*PySlice_New(PyObject*start,PyObject*stop,PyObject*step)¶
- 回傳值:新的參照。 為穩定 ABI 的一部分.
Return a new slice object with the given values. Thestart,stop, andstep parameters are used as the values of the slice object attributes ofthe same names. Any of the values may be
NULL
, in which case theNone
will be used for the corresponding attribute.Return
NULL
with an exception set ifthe new object could not be allocated.
- intPySlice_GetIndices(PyObject*slice,Py_ssize_tlength,Py_ssize_t*start,Py_ssize_t*stop,Py_ssize_t*step)¶
- 為穩定 ABI 的一部分.
Retrieve the start, stop and step indices from the slice objectslice,assuming a sequence of lengthlength. Treats indices greater thanlength as errors.
Returns
0
on success and-1
on error with no exception set (unless one ofthe indices was notNone
and failed to be converted to an integer,in which case-1
is returned with an exception set).You probably do not want to use this function.
在 3.2 版的變更:The parameter type for theslice parameter was
PySliceObject*
before.
- intPySlice_GetIndicesEx(PyObject*slice,Py_ssize_tlength,Py_ssize_t*start,Py_ssize_t*stop,Py_ssize_t*step,Py_ssize_t*slicelength)¶
- 為穩定 ABI 的一部分.
Usable replacement for
PySlice_GetIndices()
. Retrieve the start,stop, and step indices from the slice objectslice assuming a sequence oflengthlength, and store the length of the slice inslicelength. Outof bounds indices are clipped in a manner consistent with the handling ofnormal slices.成功時回傳
0
,在失敗時回傳-1
並設定例外。備註
This function is considered not safe for resizable sequences.Its invocation should be replaced by a combination of
PySlice_Unpack()
andPySlice_AdjustIndices()
whereif(PySlice_GetIndicesEx(slice,length,&start,&stop,&step,&slicelength)<0){// return error}
is replaced by
if(PySlice_Unpack(slice,&start,&stop,&step)<0){// return error}slicelength=PySlice_AdjustIndices(length,&start,&stop,step);
在 3.2 版的變更:The parameter type for theslice parameter was
PySliceObject*
before.在 3.6.1 版的變更:If
Py_LIMITED_API
is not set or set to the value between0x03050400
and0x03060000
(not including) or0x03060100
or higherPySlice_GetIndicesEx()
is implemented as a macro usingPySlice_Unpack()
andPySlice_AdjustIndices()
.Argumentsstart,stop andstep are evaluated more than once.在 3.6.1 版之後被棄用:If
Py_LIMITED_API
is set to the value less than0x03050400
orbetween0x03060000
and0x03060100
(not including)PySlice_GetIndicesEx()
is a deprecated function.
- intPySlice_Unpack(PyObject*slice,Py_ssize_t*start,Py_ssize_t*stop,Py_ssize_t*step)¶
- 為穩定 ABI 的一部分 自 3.7 版本開始.
Extract the start, stop and step data members from a slice object asC integers. Silently reduce values larger than
PY_SSIZE_T_MAX
toPY_SSIZE_T_MAX
, silently boost the start and stop values less thanPY_SSIZE_T_MIN
toPY_SSIZE_T_MIN
, and silently boost the stepvalues less than-PY_SSIZE_T_MAX
to-PY_SSIZE_T_MAX
.成功時回傳
0
,在失敗時回傳-1
並設定例外。在 3.6.1 版被加入.
- Py_ssize_tPySlice_AdjustIndices(Py_ssize_tlength,Py_ssize_t*start,Py_ssize_t*stop,Py_ssize_tstep)¶
- 為穩定 ABI 的一部分 自 3.7 版本開始.
Adjust start/end slice indices assuming a sequence of the specified length.Out of bounds indices are clipped in a manner consistent with the handlingof normal slices.
Return the length of the slice. Always successful. Doesn't call Pythoncode.
在 3.6.1 版被加入.
Ellipsis 物件¶
- PyTypeObjectPyEllipsis_Type¶
- 為穩定 ABI 的一部分.
The type of Python
Ellipsis
object. Same astypes.EllipsisType
in the Python layer.
- PyObject*Py_Ellipsis¶
The Python
Ellipsis
object. This object has no methods. LikePy_None
, it is animmortal singleton object.在 3.12 版的變更:
Py_Ellipsis
為不滅的 (immortal)。