> **Источник:** https://python-all.ru/3.7/c-api/bool.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# Логические объекты

Логические значения в Python реализованы как подкласс целых чисел. Существует только два логических значения: `Py_False` и `Py_True`. Поэтому обычные функции создания и удаления к логическим значениям не применимы. Однако доступны следующие макросы.

#### `int PyBool_Check(PyObject *o)`

Возвращает истину, если *o* имеет тип `PyBool_Type`.

**[PyObject](https://python-all.ru/3.7/c-api/structures.html#c.PyObject)\* `Py_False`**

Объект Python `False`. У этого объекта нет методов. С ним нужно обращаться так же, как с любым другим объектом в отношении подсчёта ссылок.

**[PyObject](https://python-all.ru/3.7/c-api/structures.html#c.PyObject)\* `Py_True`**

Объект Python `True`. У этого объекта нет методов. С ним нужно обращаться так же, как с любым другим объектом в отношении подсчёта ссылок.

**`Py_RETURN_FALSE`**

Возвращает `Py_False` из функции, корректно увеличивая его счётчик ссылок.

**`Py_RETURN_TRUE`**

Возвращает `Py_True` из функции, корректно увеличивая его счётчик ссылок.

#### `PyObject* PyBool_FromLong(long v)`

*Возвращаемое значение: новая ссылка.*

Возвращает новую ссылку на `Py_True` или `Py_False` в зависимости от истинности *v*.
