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

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

スライスオブジェクト

PyTypeObject PySlice_Type
スライスオブジェクトの型オブジェクト。 これは、sliceおよびtypes.SliceTypeと同じです。
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(PySliceObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)

長さ長さのシーケンスを想定して、スライスオブジェクトスライスから開始、停止、およびステップのインデックスを取得します。 length より大きいインデックスをエラーとして扱います。

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

この関数はおそらく使いたくないでしょう。 2.3より前のバージョンのPythonでスライスオブジェクトを使用する場合は、拡張機能のソースに PySlice_GetIndicesEx()のソースを適切に名前変更して組み込むとよいでしょう。

バージョン2.5で変更:この関数は、長さintタイプを使用し、開始int *タイプを使用しました] stop 、および step 。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。

int PySlice_GetIndicesEx(PySliceObject *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を返します。

バージョン2.3の新機能。

バージョン2.5で変更:この関数は、長さintタイプを使用し、開始int *タイプを使用しました]停止ステップ、およびスライス長。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。


省略記号オブジェクト

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