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

---

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

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

#### `PyTypeObject PyBool_Type`

*Часть [Stable ABI](https://python-all.ru/3.11/c-api/stable.html#stable).*

Этот экземпляр [`PyTypeObject`](https://python-all.ru/3.11/c-api/type.html#c.PyTypeObject) представляет логический тип Python; это тот же объект, что и [`bool`](https://python-all.ru/3.11/library/functions.html#bool) на уровне Python.

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

Возвращает true, если *o* имеет тип [`PyBool_Type`](https://python-all.ru/3.11/c-api/bool.html#c.PyBool_Type). Эта функция всегда выполняется успешно.

#### `PyObject *Py_False`

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

#### `PyObject *Py_True`

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

#### `Py_RETURN_FALSE`

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

#### `Py_RETURN_TRUE`

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

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

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

*Часть [Stable ABI](https://python-all.ru/3.11/c-api/stable.html#stable).*

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