> **Источник:** https://python-all.ru/3.4/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)`

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

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

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

**[PyObject](https://python-all.ru/3.4/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*.
