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

float.md

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

1> **Источник:** https://python-all.ru/2.7/c-api/float.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты с плавающей запятой89**`PyFloatObject`**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) `PyFloat_Type`**1415Этот экземпляр [`PyTypeObject`](https://python-all.ru/2.7/c-api/type.html#c.PyTypeObject) представляет тип чисел с плавающей запятой в Python. Этот объект идентичен `float` и `types.FloatType`.1617#### `int PyFloat_Check(PyObject *p)`1819Возвращает истину, если аргумент является [`PyFloatObject`](https://python-all.ru/2.7/c-api/float.html#c.PyFloatObject) или подтипом [`PyFloatObject`](https://python-all.ru/2.7/c-api/float.html#c.PyFloatObject).2021Изменено в версии 2.2: Теперь допускаются подтипы.2223#### `int PyFloat_CheckExact(PyObject *p)`2425Возвращает истину, если аргумент является [`PyFloatObject`](https://python-all.ru/2.7/c-api/float.html#c.PyFloatObject), но не подтипом [`PyFloatObject`](https://python-all.ru/2.7/c-api/float.html#c.PyFloatObject).2627Новое в версии 2.2.2829#### `PyObject* PyFloat_FromString(PyObject *str, char **pend)`3031*Возвращаемое значение: новая ссылка.*3233Создаёт объект [`PyFloatObject`](https://python-all.ru/2.7/c-api/float.html#c.PyFloatObject) на основе строкового значения в *str* или *NULL* в случае ошибки. Аргумент *pend* игнорируется. Он сохранён только для обратной совместимости.3435#### `PyObject* PyFloat_FromDouble(double v)`3637*Возвращаемое значение: новая ссылка.*3839Создаёт объект [`PyFloatObject`](https://python-all.ru/2.7/c-api/float.html#c.PyFloatObject) из *v* или *NULL* в случае ошибки.4041#### `double PyFloat_AsDouble(PyObject *pyfloat)`4243Возвращает C-представление `double` содержимого *pyfloat*. Если *pyfloat* не является объектом Python с плавающей запятой, но имеет метод [`__float__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__float__) этот метод сначала вызывается для преобразования *pyfloat* в число с плавающей запятой. При ошибке этот метод возвращает `-1.0`, поэтому для проверки ошибок следует вызывать [`PyErr_Occurred()`](https://python-all.ru/2.7/c-api/exceptions.html#c.PyErr_Occurred).4445#### `double PyFloat_AS_DOUBLE(PyObject *pyfloat)`4647Возвращает представление содержимого *pyfloat* в виде C `double`, но без проверки ошибок.4849#### `PyObject* PyFloat_GetInfo(void)`5051Возвращает экземпляр structseq, содержащий информацию о точности, минимальном и максимальном значениях числа с плавающей запятой. Это тонкая обёртка вокруг заголовочного файла `float.h`.5253Новое в версии 2.6.5455#### `double PyFloat_GetMax()`5657Возвращает максимальное представимое конечное число с плавающей точкой *DBL\_MAX* в виде C `double`.5859Новое в версии 2.6.6061#### `double PyFloat_GetMin()`6263Возвращает минимальное нормализованное положительное число с плавающей точкой *DBL\_MIN* в виде C `double`.6465Новое в версии 2.6.6667#### `int PyFloat_ClearFreeList()`6869Очищает список свободных float. Возвращает количество элементов, которые не удалось освободить.7071Новое в версии 2.6.7273#### `void PyFloat_AsString(char *buf, PyFloatObject *v)`7475Преобразует аргумент *v* в строку, используя те же правила, что и [`str()`](https://python-all.ru/2.7/library/functions.html#str). Длина *buf* должна быть не менее 100.7677Эту функцию небезопасно вызывать, потому что она записывает данные в буфер, длина которого ей неизвестна.7879Устарело с версии 2.7: Вместо этого используйте `PyObject_Str()` или `PyOS_double_to_string()`.8081#### `void PyFloat_AsReprString(char *buf, PyFloatObject *v)`8283То же, что PyFloat\_AsString, но использует те же правила, что и [`repr()`](https://python-all.ru/2.7/library/functions.html#repr). Длина *buf* должна быть не менее 100.8485Эту функцию небезопасно вызывать, потому что она записывает данные в буфер, длина которого ей неизвестна.8687Устарело с версии 2.7: Вместо этого используйте `PyObject_Repr()` или `PyOS_double_to_string()`.88