スライスオブジェクト
- PyTypeObject PySlice_Type
- スライスオブジェクトの型オブジェクト。 これは、
slice
およびtypes.SliceType
と同じです。
- int PySlice_Check(PyObject *ob)
- ob がスライスオブジェクトの場合はtrueを返します。 ob は NULL であってはなりません。
- 指定された値を持つ新しいスライスオブジェクトを返します。 start 、 stop 、および 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 と同様に、シングルトンオブジェクトです。