Обычные целочисленные объекты¶Plain Integer Objects
- PyTypeObject PyInt_Type¶
Этот экземпляр PyTypeObject представляет тип обычного целого числа Python. Это тот же объект, что и int и types.IntType.
- int PyInt_Check(PyObject *o)¶
Возвращает истину, если o имеет тип PyInt_Type или является подтипом PyInt_Type.
Изменено в версии 2.2: Теперь допускаются подтипы.
- int PyInt_CheckExact(PyObject *o)¶
Возвращает истину, если o имеет тип PyInt_Type, но не является подтипом PyInt_Type.
Новое в версии 2.2.
- PyObject* PyInt_FromString(char *str, char **pend, int base)¶
- Возвращаемое значение: новая ссылка.
Возвращает новый PyIntObject или PyLongObject на основе строкового значения в str, которое интерпретируется в соответствии с основанием в base. Если pend не является NULL, *pend будет указывать на первый символ в str, который следует за представлением числа. Если base равно 0, основание будет определено на основе начальных символов str: если str начинается с '0x' или '0X', будет использоваться основание 16; если str начинается с '0', будет использоваться основание 8; в противном случае – основание 10. Если base не равно 0, оно должно находиться в диапазоне от 2 до 36 включительно. Начальные пробелы игнорируются. Если нет цифр, будет возбуждено ValueError. Если строка представляет число, слишком большое для типа long int данной машины и предупреждения о переполнении подавлены, будет возвращён PyLongObject. Если предупреждения о переполнении не подавлены, в этом случае будет возвращён NULL.
- PyObject* PyInt_FromLong(long ival)¶
- Возвращаемое значение: новая ссылка.
Создает новый целочисленный объект со значением ival.
Текущая реализация хранит массив объектов целых чисел для всех целых чисел между -5 и 256. Когда создаётся int в этом диапазоне, фактически возвращается ссылка на существующий объект. Поэтому изменение значения 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)¶
- Сначала пытается привести объект к типу PyIntObject, если он ещё не является таковым, а затем возвращает его значение. Если произошла ошибка, возвращается -1, и вызывающий код должен проверить PyErr_Occurred(), чтобы выяснить, была ли ошибка или значение просто оказалось равным -1.
- unsigned long PyInt_AsUnsignedLongMask(PyObject *io)¶
Сначала пытается привести объект к типу PyIntObject или PyLongObject, если он ещё не является таковым, а затем возвращает его значение как unsigned long. Эта функция не проверяет переполнение.
Новое в версии 2.3.
- unsigned PY_LONG_LONG PyInt_AsUnsignedLongLongMask(PyObject *io)¶
Сначала пытается привести объект к типу PyIntObject или PyLongObject, если он ещё не является таковым, а затем возвращает его значение как unsigned long long, без проверки переполнения.
Новое в версии 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.