Документация Python неофициальный перевод

int.md

92 строк · 7.9 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/c-api/int.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Обычные целочисленные объекты89**`PyIntObject`**1011Этот подтип [`PyObject`](https://python-all.ru/2.7/c-api/structures.html#c.PyObject) представляет целочисленный объект Python.1213**[PyTypeObject](https://python-all.ru/2.7/c-api/type.html#c.PyTypeObject) `PyInt_Type`**1415Этот экземпляр [`PyTypeObject`](https://python-all.ru/2.7/c-api/type.html#c.PyTypeObject) представляет обычный целочисленный тип Python. Это тот же объект, что `int` и `types.IntType`.1617#### `int PyInt_Check(PyObject *o)`1819Возвращает истину, если *o* имеет тип [`PyInt_Type`](https://python-all.ru/2.7/c-api/int.html#c.PyInt_Type) или является подтипом [`PyInt_Type`](https://python-all.ru/2.7/c-api/int.html#c.PyInt_Type).2021Изменено в версии 2.2: Разрешено принимать подтипы.2223#### `int PyInt_CheckExact(PyObject *o)`2425Возвращает истину, если *o* имеет тип [`PyInt_Type`](https://python-all.ru/2.7/c-api/int.html#c.PyInt_Type), но не является подтипом [`PyInt_Type`](https://python-all.ru/2.7/c-api/int.html#c.PyInt_Type).2627Новое в версии 2.2.2829#### `PyObject* PyInt_FromString(char *str, char **pend, int base)`3031*Возвращаемое значение: новая ссылка.*3233Возвращает новый [`PyIntObject`](https://python-all.ru/2.7/c-api/int.html#c.PyIntObject) или [`PyLongObject`](https://python-all.ru/2.7/c-api/long.html#c.PyLongObject) на основе строкового значения *str*, которое интерпретируется в соответствии с основанием системы счисления *base*. Если *pend* не равен *NULL*, `*pend` будет указывать на первый символ в *str*, следующий за представлением числа. Если *base* равен `0`, основание определяется по начальным символам *str*: если *str* начинается с `'0x'` или `'0X'`, используется 16-ричное основание; если *str* начинается с `'0'`, используется 8-ричное основание; в противном случае используется 10-ричное основание. Если *base* не равен `0`, он должен находиться в диапазоне от `2` до `36` включительно. Начальные пробелы игнорируются. Если цифр нет, возбуждается [`ValueError`](https://python-all.ru/2.7/library/exceptions.html#exceptions.ValueError). Если строка представляет число, слишком большое для типа `long int` на данной машине, и предупреждения о переполнении подавлены, возвращается [`PyLongObject`](https://python-all.ru/2.7/c-api/long.html#c.PyLongObject). Если предупреждения о переполнении не подавлены, в этом случае возвращается *NULL*.3435#### `PyObject* PyInt_FromLong(long ival)`3637*Возвращаемое значение: новая ссылка.*3839Создает новый целочисленный объект со значением *ival*.4041Текущая реализация хранит массив объектов целых чисел для всех целых чисел между `-5` и `256`. Когда создаётся int в этом диапазоне, фактически возвращается ссылка на существующий объект. Поэтому изменение значения `1` должно быть возможным. Поведение Python в этом случае, вероятно, не определено. :-)4243#### `PyObject* PyInt_FromSsize_t(Py_ssize_t ival)`4445*Возвращаемое значение: новая ссылка.*4647Создает новый целочисленный объект со значением *ival*. Если значение больше `LONG_MAX` или меньше `LONG_MIN`, возвращается объект длинного целого числа.4849Новое в версии 2.5.5051#### `PyObject* PyInt_FromSize_t(size_t ival)`5253Создает новый целочисленный объект со значением *ival*. Если значение превышает `LONG_MAX`, возвращается объект длинного целого числа.5455Новое в версии 2.5.5657#### `long PyInt_AsLong(PyObject *io)`5859Сначала пытается привести объект к [`PyIntObject`](https://python-all.ru/2.7/c-api/int.html#c.PyIntObject), если он еще не является таковым, а затем возвращает его значение. В случае ошибки возвращается `-1`, и вызывающий код должен проверить `PyErr_Occurred()`, чтобы определить, была ли ошибка или значение просто оказалось равным `-1`.6061#### `long PyInt_AS_LONG(PyObject *io)`6263Возвращает значение объекта *io*. Проверка ошибок не выполняется.6465#### `unsigned long PyInt_AsUnsignedLongMask(PyObject *io)`6667Сначала пытается привести объект к [`PyIntObject`](https://python-all.ru/2.7/c-api/int.html#c.PyIntObject) или [`PyLongObject`](https://python-all.ru/2.7/c-api/long.html#c.PyLongObject), если он еще не является таковым, а затем возвращает его значение как unsigned long. Эта функция не проверяет переполнение.6869Новое в версии 2.3.7071#### `unsigned PY_LONG_LONG PyInt_AsUnsignedLongLongMask(PyObject *io)`7273Сначала пытается привести объект к [`PyIntObject`](https://python-all.ru/2.7/c-api/int.html#c.PyIntObject) или [`PyLongObject`](https://python-all.ru/2.7/c-api/long.html#c.PyLongObject), если он еще не является таковым, а затем возвращает его значение как unsigned long long, без проверки переполнения.7475Новое в версии 2.3.7677#### `Py_ssize_t PyInt_AsSsize_t(PyObject *io)`7879Сначала пытается привести объект к [`PyIntObject`](https://python-all.ru/2.7/c-api/int.html#c.PyIntObject) или [`PyLongObject`](https://python-all.ru/2.7/c-api/long.html#c.PyLongObject), если он еще не является таковым, а затем возвращает его значение как `Py_ssize_t`.8081Новое в версии 2.5.8283#### `long PyInt_GetMax()`8485Возвращает максимальное целое число, которое может обработать система (`LONG_MAX`, как определено в системных заголовочных файлах).8687#### `int PyInt_ClearFreeList()`8889Очищает список свободных целых чисел. Возвращает количество элементов, которые не удалось освободить.9091Новое в версии 2.6.92