プレーン整数オブジェクト—Pythonドキュメント

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

プレーン整数オブジェクト

type PyIntObject
PyObject のこのサブタイプは、Python整数オブジェクトを表します。
PyTypeObject PyInt_Type
PyTypeObject のこのインスタンスは、Pythonのプレーン整数型を表します。 これは、intおよびtypes.IntTypeと同じオブジェクトです。
int PyInt_Check(PyObject *o)

o のタイプが PyInt_Type であるか、サブタイプが PyInt_Type の場合、trueを返します。

バージョン2.2で変更:サブタイプの受け入れを許可しました。

int PyInt_CheckExact(PyObject *o)

o のタイプが PyInt_Type であるが、 PyInt_Type のサブタイプではない場合はtrueを返します。

バージョン2.2の新機能。

PyObject *PyInt_FromString(char *str, char **pend, int base)
str の文字列値に基づいて、新しい PyIntObject または PyLongObject を返します。これは、 base の基数に従って解釈されます。 pendNULL 以外の場合、*pendは、数値の表現に続く str の最初の文字を指します。 base0の場合、基数は str の先頭文字に基づいて決定されます。 str'0x'で始まる場合]または'0X'、基数16が使用されます。 str'0'で始まる場合、基数8が使用されます。 それ以外の場合は、基数10が使用されます。 base0でない場合は、236の間にある必要があります。 先頭のスペースは無視されます。 数字がない場合は、ValueErrorが発生します。 文字列が大きすぎてマシンのlong intタイプに含めることができない数値を表し、オーバーフロー警告が抑制されている場合、 PyLongObject が返されます。 オーバーフロー警告が抑制されていない場合、この場合は NULL が返されます。
PyObject *PyInt_FromLong(long ival)

ival の値を持つ新しい整数オブジェクトを作成します。

現在の実装では、-5256の間のすべての整数の整数オブジェクトの配列が保持されます。その範囲で整数を作成すると、実際には既存のオブジェクトへの参照が返されます。 したがって、1の値を変更できるはずです。 この場合のPythonの動作は未定義だと思います。 :-)

PyObject *PyInt_FromSsize_t(Py_ssize_t ival)

ival の値を持つ新しい整数オブジェクトを作成します。 値がLONG_MAXより大きいか、LONG_MINより小さい場合、長整数オブジェクトが返されます。

バージョン2.5の新機能。

PyObject *PyInt_FromSize_t(size_t ival)

ival の値を持つ新しい整数オブジェクトを作成します。 値がLONG_MAXを超えると、長整数オブジェクトが返されます。

バージョン2.5の新機能。

long PyInt_AsLong(PyObject *io)
オブジェクトがまだ1つでない場合は、最初にオブジェクトを PyIntObject にキャストしようとし、次にその値を返します。 エラーが発生した場合は、-1が返されます。呼び出し元は、PyErr_Occurred()をチェックして、エラーが発生したかどうか、または値がたまたま-1であったかどうかを確認する必要があります。
long PyInt_AS_LONG(PyObject *io)
オブジェクト io の値を返します。 エラーチェックは実行されません。
unsigned long PyInt_AsUnsignedLongMask(PyObject *io)

オブジェクトがまだ1つでない場合は、最初にオブジェクトを PyIntObject または PyLongObject にキャストしようとし、次にその値をunsignedlongとして返します。 この関数はオーバーフローをチェックしません。

バージョン2.3の新機能。

unsigned PY_LONG_LONG PyInt_AsUnsignedLongLongMask(PyObject *io)

最初にオブジェクトを PyIntObject または PyLongObject にキャストしようとします(まだ存在しない場合)。次に、オーバーフローをチェックせずに、その値をunsigned longlongとして返します。

バージョン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()

整数フリーリストをクリアします。 解放できなかったアイテムの数を返します。

バージョン2.6の新機能。