(通常)整数型オブジェクト (plain integer object)¶
-
PyTypeObject
PyInt_Type
¶ この
PyTypeObject
のインスタンスは Python の (長整数でない)整数型を表現します。これは Python レイヤにおけるint
やtypes.IntType
と同じオブジェクトです。
-
int
PyInt_Check
(PyObject *o)¶ o が
PyInt_Type
型かPyInt_Type
型のサブタイプであるときに真を返します。バージョン 2.2 で変更: サブタイプを引数にとれるようになりました.
-
int
PyInt_CheckExact
(PyObject *o)¶ o が
PyInt_Type
型で、かつPyInt_Type
型のサブタイプでないときに真を返します。バージョン 2.2 で追加.
-
PyObject*
PyInt_FromString
(char *str, char **pend, int base)¶ - Return value: New reference.
str の文字列値に基づいて、新たな
PyIntObject
またはPyLongObject
を返します。このとき base を基数として文字列を解釈します。 pend が NULL でなければ、*pend
は str 中で数が表現されている部分以後の先頭の文字のアドレスを指しています。 base が0
ならば、 str の先頭の文字列に基づいて基数を決定します: もし str が'0x'
または'0X'
で始まっていれば、基数に 16 を使います; str が'0'
で始まっていれば、基数に 8 を使います; その他の場合には基数に 10 を使います。 base が0
でなければ、 base は2
以上36
以下の数でなければなりません。先頭に空白がある場合は無視されます。数字が全くない場合、ValueError
が送出されます。使用しているマシンのlong int
型で表現し切れないくらい大きな数が文字列に入っており、オーバフロー警告が抑制されていれば、PyLongObject
を返します。オーバフロー警告が抑制されていなければ、 NULL を返します。
-
PyObject*
PyInt_FromLong
(long ival)¶ - Return value: New reference.
ival の値を使って新たな整数オブジェクトを生成します。
現在の実装では、
-5
から256
までの全ての整数に対する整数オブジェクトの配列を保持するようにしており、この範囲の数を生成すると、実際には既存のオブジェクトに対する参照が返るようになっています。従って、1
の値を変えることすら可能です。変えてしまった場合の Python の挙動は未定義です :-)
-
PyObject*
PyInt_FromSsize_t
(Py_ssize_t ival)¶ - Return value: New reference.
ival の値を使って新たな整数オブジェクトを生成します。値が
LONG_MAX
より大きいかLONG_MIN
より小さい場合、長整数オブジェクトを返します。バージョン 2.5 で追加.
-
PyObject*
PyInt_FromSize_t
(size_t ival)¶ ival の値を使って新たな整数オブジェクトを生成します。値が
LONG_MAX
を超えている場合、長整数オブジェクトを返します。バージョン 2.5 で追加.
-
long
PyInt_AsLong
(PyObject *io)¶ オブジェクトがまだ
PyIntObject
でなければまず型キャストを試み、次にその値を返します。エラーが発生した場合、-1
が返されます。その時呼び出し側は、PyErr_Occurred()
を使って、エラーが発生したのか、単に値が-1
だったのかを判断するべきです。
-
unsigned long
PyInt_AsUnsignedLongMask
(PyObject *io)¶ オブジェクトがまだ
PyIntObject
またはPyLongObject
でなければまず型キャストを試み、次にその値をunsigned long
型で返します。この関数はオーバフローをチェックしません。バージョン 2.3 で追加.
-
unsigned PY_LONG_LONG
PyInt_AsUnsignedLongLongMask
(PyObject *io)¶ オブジェクトがまだ
PyIntObject
またはPyLongObject
でなければまず型キャストを試み、次にその値をunsigned long long
型で返します。オーバフローをチェックしません。バージョン 2.3 で追加.
-
Py_ssize_t
PyInt_AsSsize_t
(PyObject *io)¶ オブジェクトがまだ
PyIntObject
またはPyLongObject
でなければまず型キャストを試み、次にその値をPy_ssize_t
型で返します。バージョン 2.5 で追加.
-
long
PyInt_GetMax
()¶ システムの知識に基づく、扱える最大の整数値 (システムのヘッダファイルに定義されている
LONG_MAX
) を返します。
-
int
PyInt_ClearFreeList
()¶ 整数の free list をクリアします。解放できなかった要素の数を返します。
バージョン 2.6 で追加.