スライスオブジェクトの型オブジェクトです。 slice や types.SliceType と同じです。
指定した値から新たなスライスオブジェクトを返します。パラメタ start, stop, および step はスライスオブジェクトにおける同名の属性として用いられます。これらの値はいずれも NULL にでき、対応する値には None が使われます。新たなオブジェクトをアロケーションできない場合には NULL を返します。
スライスオブジェクト slice における start, stop, および step のインデクス値を取得します。このときシーケンスの長さを length と仮定します。 length よりも大きなインデクスになるとエラーとして扱います。
成功のときには 0 を、エラーのときには例外をセットせずに -1 を返します (ただし、指定インデクスのいずれか一つが None ではなく、かつ整数に変換できなかった場合を除きます。この場合、 -1 を返して例外をセットします)。
おそらくこの関数を使う気にはならないでしょう。バージョン 2.3 以前の Python でスライスオブジェクトを使いたいのなら、 PySlice_GetIndicesEx() のソースを適切に名前変更して自分の拡張モジュールのソースコード内に組み込むとよいでしょう。
バージョン 2.5 で変更: この関数は以前は length の型に int を、 start, stop, step の型に int * を利用していました。 この変更により、 64bit システムを正しくサポートするには修正が必要になります。
PySlice_GetIndices() の置き換えとして使える関数です。
スライスオブジェクト slice における start, stop, および step のインデクス値を取得します。このときシーケンスの長さを length と仮定します。スライスの長さを slicelength に記憶します。境界をはみだしたインデクスは、通常のスライスを扱うのと同じ一貫したやり方でクリップされます。
成功のときには 0 を、エラーのときには例外をセットして -1 を返します。
バージョン 2.3 で追加.
バージョン 2.5 で変更: この関数は以前は length の型に int を、 start, stop, step, slicelength の型に int * を利用していました。 この変更により、 64bit システムを正しくサポートするには修正が必要になります。