Объекты длинных целых чисел¶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 из C unsigned long или NULL в случае ошибки.
- PyObject* PyLong_FromSsize_t(Py_ssize_t v)¶
Возвращает новый объект PyLongObject из C Py_ssize_t или NULL в случае ошибки.
Новое в версии 2.6.
- PyObject* PyLong_FromSize_t(size_t v)¶
Возвращает новый объект PyLongObject из C size_t или NULL в случае ошибки.
Новое в версии 2.6.
- PyObject* PyLong_FromLongLong(PY_LONG_LONG v)¶
- Возвращаемое значение: новая ссылка.
Возвращает новый объект PyLongObject из C long long или NULL в случае ошибки.
- PyObject* PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG v)¶
- Возвращаемое значение: новая ссылка.
Возвращает новый объект PyLongObject из C unsigned 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 из указателя p. Значение указателя можно получить из результирующего значения с помощью PyLong_AsVoidPtr().
Новое в версии 1.5.2.
Изменено в версии 2.5: Если целое число больше LONG_MAX, возвращается положительное длинное целое.
- long PyLong_AsLong(PyObject *pylong)¶
Возвращает представление содержимого pylong в виде C long. Если pylong больше LONG_MAX, возбуждается OverflowError и возвращается -1.
- Py_ssize_t PyLong_AsSsize_t(PyObject *pylong)¶
Возвращает Py_ssize_t – представление содержимого pylong на языке C. Если 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.
Новое в версии 2.2.
- unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong)¶
Возвращает C unsigned long long из длинного целого Python. Если pylong невозможно представить как unsigned long long, будет возбуждено OverflowError, если значение положительно, или TypeError – если отрицательно.
Новое в версии 2.2.
- unsigned long PyLong_AsUnsignedLongMask(PyObject *io)¶
Возвращает C unsigned long из длинного целого Python без проверки на переполнение.
Новое в версии 2.3.
- unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(PyObject *io)¶
Return a C unsigned long long from a Python long integer, without checking for overflow.
Новое в версии 2.3.
- double PyLong_AsDouble(PyObject *pylong)¶
- Возвращает представление содержимого pylong в виде C double. Если pylong не может быть приблизительно представлен как double, возбуждается исключение OverflowError и возвращается -1.0.
- void* PyLong_AsVoidPtr(PyObject *pylong)¶
Преобразует целое число Python pylong в указатель C void. Если pylong не удаётся преобразовать, будет возбуждено исключение OverflowError. Гарантируется, что результирующий указатель void будет пригоден для использования только для значений, созданных с помощью PyLong_FromVoidPtr().
Новое в версии 1.5.2.
Изменено в версии 2.5: Для значений вне диапазона 0..LONG_MAX принимаются как знаковые, так и беззнаковые целые числа.