スライスオブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.6/c-api/slice
移動先:案内検索

スライスオブジェクト

PyTypeObject PySlice_Type
スライスオブジェクトの型オブジェクト。 これは、Pythonレイヤーのスライスと同じです。
int PySlice_Check(PyObject *ob)
ob がスライスオブジェクトの場合はtrueを返します。 obNULL であってはなりません。
PyObject *PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
指定された値を持つ新しいスライスオブジェクトを返します。 startstop 、および step パラメーターは、同じ名前のスライスオブジェクト属性の値として使用されます。 任意の値を 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 より大きいインデックスをエラーとして扱います。

成功した場合は0を返し、例外を設定せずにエラーの場合は-1を返します(インデックスの1つが None でなく、整数への変換に失敗した場合を除きます。この場合、[ X179X] は例外セットとともに返されます)。

この関数はおそらく使いたくないでしょう。

バージョン3.2で変更: スライスパラメーターのパラメータータイプは以前は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()の使用可能な代替品。 長さ長さのシーケンスを想定してスライスオブジェクトスライスから開始、停止、およびステップインデックスを取得し、スライスの長さをスライス長に格納します。 範囲外のインデックスは、通常のスライスの処理と一致する方法でクリップされます。

成功した場合は0を返し、例外が設定されたエラーの場合は-1を返します。

バージョン3.2で変更: スライスパラメーターのパラメータータイプは以前はPySliceObject*でした。


省略記号オブジェクト

PyObject *Py_Ellipsis
Python Ellipsisオブジェクト。 このオブジェクトにはメソッドがありません。 参照カウントに関しては、他のオブジェクトと同じように扱う必要があります。 Py_None と同様に、シングルトンオブジェクトです。