長整数オブジェクト—Pythonドキュメント

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

長整数オブジェクト

type PyLongObject
PyObject のこのサブタイプは、Pythonの長整数オブジェクトを表します。
PyTypeObject PyLong_Type
PyTypeObject のこのインスタンスは、Pythonの長整数型を表します。 これは、longおよびtypes.LongTypeと同じオブジェクトです。
int PyLong_Check(PyObject *p)

引数が PyLongObject または PyLongObject のサブタイプである場合はtrueを返します。

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

int PyLong_CheckExact(PyObject *p)

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

バージョン2.2の新機能。

PyObject *PyLong_FromLong(long v)
v から新しい PyLongObject オブジェクトを返すか、失敗した場合は NULL を返します。
PyObject *PyLong_FromUnsignedLong(unsigned long v)
失敗した場合は、C unsigned longまたは NULL から新しい PyLongObject オブジェクトを返します。
PyObject *PyLong_FromSsize_t(Py_ssize_t v)

失敗した場合は、C Py_ssize_tまたは NULL から新しい PyLongObject オブジェクトを返します。

バージョン2.6の新機能。

PyObject *PyLong_FromSize_t(size_t v)

失敗した場合は、C size_tまたは NULL から新しい PyLongObject オブジェクトを返します。

バージョン2.6の新機能。

PyObject *PyLong_FromLongLong(PY_LONG_LONG v)
失敗した場合は、C long longまたは NULL から新しい PyLongObject オブジェクトを返します。
PyObject* PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG v)
失敗した場合は、C unsigned long longまたは NULL から新しい PyLongObject オブジェクトを返します。
PyObject *PyLong_FromDouble(double v)
v の整数部分から新しい PyLongObject オブジェクトを返すか、失敗した場合は NULL を返します。
PyObject *PyLong_FromString(char *str, char **pend, int base)
str の文字列値に基づいて、新しい PyLongObject を返します。これは、 base の基数に従って解釈されます。 pendNULL 以外の場合、 * pend は、数値の表現に続く str の最初の文字を指します。 base0の場合、基数は str の先頭文字に基づいて決定されます。 str'0x'で始まる場合]または'0X'、基数16が使用されます。 str'0'で始まる場合、基数8が使用されます。 それ以外の場合は、基数10が使用されます。 base0でない場合は、236の間にある必要があります。 先頭のスペースは無視されます。 数字がない場合は、ValueErrorが発生します。
PyObject *PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base)

Unicode桁のシーケンスをPythonの長整数値に変換します。 最初のパラメーター u は、Unicode文字列の最初の文字を指し、 length は文字数を示し、 base は変換の基数です。 基数は[2、36]の範囲内にある必要があります。 範囲外の場合、ValueErrorが発生します。

バージョン1.6の新機能。

バージョン2.5で変更:この関数は、長さintを使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。

PyObject *PyLong_FromVoidPtr(void *p)

ポインタ p からPython整数または長整数を作成します。 ポインタ値は、 PyLong_AsVoidPtr()を使用して結果の値から取得できます。

バージョン1.5.2の新機能。

バージョン2.5で変更:整数がLONG_MAXより大きい場合、正の長整数が返されます。

long PyLong_AsLong(PyObject *pylong)
pylong の内容のC long表現を返します。 pylongLONG_MAXより大きい場合、OverflowErrorが発生し、-1が返されます。
long PyLong_AsLongAndOverflow(PyObject *pylong, int *overflow)

pylong の内容のC long表現を返します。 pylongLONG_MAXより大きいかLONG_MINより小さい場合は、 * overlay1または-1に設定します。 、それぞれ、-1を返します。 それ以外の場合は、 * overlay0に設定します。 その他の例外(TypeErrorやMemoryErrorなど)が発生した場合は、-1が返され、 * overlay0になります。

バージョン2.7の新機能。

PY_LONG_LONG PyLong_AsLongLongAndOverflow(PyObject *pylong, int *overflow)

pylong の内容のC long long表現を返します。 pylongPY_LLONG_MAXより大きいかPY_LLONG_MINより小さい場合は、 * overlay1または-1に設定します。 、それぞれ、-1を返します。 それ以外の場合は、 * overlay0に設定します。 その他の例外(TypeErrorやMemoryErrorなど)が発生した場合は、-1が返され、 * overlay0になります。

バージョン2.7の新機能。

Py_ssize_t PyLong_AsSsize_t(PyObject *pylong)

pylong の内容のC Py_ssize_t表現を返します。 pylongPY_SSIZE_T_MAXより大きい場合、OverflowErrorが発生し、-1が返されます。

バージョン2.6の新機能。

unsigned long PyLong_AsUnsignedLong(PyObject *pylong)
pylong の内容のC unsigned long表現を返します。 pylongULONG_MAXより大きい場合、OverflowErrorが発生します。
PY_LONG_LONG PyLong_AsLongLong(PyObject *pylong)

Pythonの長整数からC long longを返します。 pylonglong longとして表現できない場合は、OverflowErrorが発生し、-1が返されます。

バージョン2.2の新機能。

unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong)

Pythonの長整数からC unsigned long longを返します。 pylongunsigned long longとして表現できない場合は、OverflowErrorが発生し、(unsigned long long)-1が返されます。

バージョン2.2の新機能。

バージョン2.7で変更:負の pylong は、TypeErrorではなくOverflowErrorを発生させるようになりました。

unsigned long PyLong_AsUnsignedLongMask(PyObject *io)

オーバーフローをチェックせずに、Pythonの長整数からC unsigned longを返します。

エラー時に(unsigned long)-1を返します。 PyErr_Occurred()を使用して明確にします。

バージョン2.3の新機能。

unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(PyObject *io)

オーバーフローをチェックせずに、Pythonの長整数からC unsigned long longを返します。

エラー時に(unsigned PY_LONG_LONG)-1を返します。 PyErr_Occurred()を使用して明確にします。

バージョン2.3の新機能。

double PyLong_AsDouble(PyObject *pylong)
pylong の内容のC double表現を返します。 pylongdoubleとして近似的に表すことができない場合、OverflowError例外が発生し、-1.0が返されます。
void *PyLong_AsVoidPtr(PyObject *pylong)

Python整数または長整数 pylong をC voidポインターに変換します。 pylong を変換できない場合、OverflowErrorが発生します。 これは、 PyLong_FromVoidPtr()で作成された値に対して使用可能なvoidポインターを生成することのみが保証されています。

バージョン1.5.2の新機能。

バージョン2.5で変更: 0..LONG_MAX以外の値の場合、符号付き整数と符号なし整数の両方が受け入れられます。