Объекты длинных целых чисел¶Long Integer Objects
-
PyTypeObject
PyLong_Type¶ Этот экземпляр
PyTypeObjectпредставляет тип длинного целого числа Python. Это тот же объект, что иlongиtypes.LongType.
-
int
PyLong_Check(PyObject *p)¶ Возвращает истину, если аргумент является
PyLongObjectили подтипомPyLongObject.Изменено в версии 2.2: Теперь допускаются подтипы.
-
int
PyLong_CheckExact(PyObject *p)¶ Возвращает истину, если аргумент является
PyLongObject, но не подтипомPyLongObject.Новое в версии 2.2.
-
PyObject*
PyLong_FromLong(long v)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectобъект из v или NULL при ошибке.
-
PyObject*
PyLong_FromUnsignedLong(unsigned long v)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectобъект из Cunsigned longили NULL при ошибке.
-
PyObject*
PyLong_FromSsize_t(Py_ssize_t v)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectобъект из CPy_ssize_tили NULL при ошибке.Новое в версии 2.6.
-
PyObject*
PyLong_FromSize_t(size_t v)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectобъект из Csize_tили NULL при ошибке.Новое в версии 2.6.
-
PyObject*
PyLong_FromLongLong(PY_LONG_LONG v)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectобъект из Clong longили NULL при ошибке.
-
PyObject*
PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG v)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectобъект из Cunsigned long long, или NULL при ошибке.
-
PyObject*
PyLong_FromDouble(double v)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectобъект из целой части v или NULL при ошибке.
-
PyObject*
PyLong_FromString(char *str, char **pend, int base)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый
PyLongObjectна основе строкового значения в str, которое интерпретируется согласно основанию системы счисления в base. Если pend не равен NULL, то *pend будет указывать на первый символ в str, следующий за представлением числа. Если base равен0, основание будет определено по начальным символам str: если str начинается с'0x'или'0X', будет использовано основание 16; если str начинается с'0', будет использовано основание 8; в противном случае будет использовано основание 10. Если base не равен0, он должен быть между2и36включительно. Начальные пробелы игнорируются. Если цифр нет, возбуждается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для length. Это может потребовать изменений в коде для корректной поддержки 64-разрядных систем.
-
PyObject*
PyLong_FromVoidPtr(void *p)¶ - Возвращаемое значение: новая ссылка.
Создаёт целое число Python (int или long) из указателя p. Значение указателя можно получить из результирующего значения с помощью
PyLong_AsVoidPtr().Новое в версии 1.5.2.
Изменено в версии 2.5: Если целое число больше LONG_MAX, возвращается положительное длинное целое.
-
long
PyLong_AsLong(PyObject *pylong)¶ Возвращает представление содержимого pylong в виде C
long. Если pylong большеLONG_MAX, возбуждаетсяOverflowErrorи возвращается-1.
-
long
PyLong_AsLongAndOverflow(PyObject *pylong, int *overflow)¶ Возвращает представление содержимого pylong в виде C
long. Если pylong большеLONG_MAXили меньшеLONG_MIN, устанавливает *overflow в1или-1соответственно и возвращает-1; в противном случае устанавливает *overflow в0. Если возникает любое другое исключение (например, TypeError или MemoryError), то возвращается-1, а *overflow будет равно0.Новое в версии 2.7.
-
PY_LONG_LONG
PyLong_AsLongLongAndOverflow(PyObject *pylong, int *overflow)¶ Возвращает представление содержимого pylong в виде C
long long. Если pylong большеPY_LLONG_MAXили меньшеPY_LLONG_MIN, устанавливает *overflow в1или-1соответственно и возвращает-1; в противном случае устанавливает *overflow в0. Если возникает любое другое исключение (например, TypeError или MemoryError), то возвращается-1, а *overflow будет равно0.Новое в версии 2.7.
-
Py_ssize_t
PyLong_AsSsize_t(PyObject *pylong)¶ Возвращает представление содержимого pylong в виде C
Py_ssize_t. Если pylong большеPY_SSIZE_T_MAX, возбуждаетсяOverflowErrorи возвращается-1.Новое в версии 2.6.
-
unsigned long
PyLong_AsUnsignedLong(PyObject *pylong)¶ Возвращает представление содержимого pylong в виде C
unsigned long. Если pylong большеULONG_MAX, возбуждаетсяOverflowError.
-
PY_LONG_LONG
PyLong_AsLongLong(PyObject *pylong)¶ Возвращает C
long longиз длинного целого Python. Если pylong не может быть представлено какlong long, возбуждаетсяOverflowErrorи возвращается-1.Новое в версии 2.2.
-
unsigned PY_LONG_LONG
PyLong_AsUnsignedLongLong(PyObject *pylong)¶ Возвращает C
unsigned long longиз длинного целого Python. Если pylong не может быть представлено какunsigned long long, возбуждаетсяOverflowErrorи возвращается(unsigned long long)-1.Новое в версии 2.2.
Изменено в версии 2.7: Отрицательное значение pylong теперь возбуждает
OverflowError, а неTypeError.
-
unsigned long
PyLong_AsUnsignedLongMask(PyObject *io)¶ Возвращает C
unsigned longиз длинного целого Python без проверки переполнения.При ошибке возвращает
(unsigned long)-1. ИспользуйтеPyErr_Occurred()для разрешения неоднозначности.Новое в версии 2.3.
-
unsigned PY_LONG_LONG
PyLong_AsUnsignedLongLongMask(PyObject *io)¶ Возвращает C
unsigned long longиз длинного целого Python без проверки переполнения.Возвращает
(unsigned PY_LONG_LONG)-1при ошибке. ИспользуйтеPyErr_Occurred()для устранения неоднозначности.Новое в версии 2.3.
-
double
PyLong_AsDouble(PyObject *pylong)¶ Возвращает представление содержимого pylong в виде C
double. Если pylong не может быть приблизительно представлено какdouble, возбуждается исключениеOverflowErrorи возвращается-1.0.
-
void*
PyLong_AsVoidPtr(PyObject *pylong)¶ Преобразует целое число Python (int или long) pylong в указатель C
void. Если pylong не удаётся преобразовать, возбуждаетсяOverflowError. Гарантируется, что указательvoidбудет пригоден для использования только для значений, созданных с помощьюPyLong_FromVoidPtr().Новое в версии 1.5.2.
Изменено в версии 2.5: Для значений вне диапазона 0..LONG_MAX принимаются как знаковые, так и беззнаковые целые числа.