### Navigation

- index
- modules |
- next |
- previous |
- Python v3.1b1 documentation »
- Python/C API Reference Manual »
- Concrete Objects Layer »

# Boolean Objects

Booleans in Python are implemented as a subclass of integers. There are only two booleans, `Py_False` and `Py_True`. As such, the normal creation and deletion functions don’t apply to booleans. The following macros are available, however.

int `PyBool_Check`(PyObject *o)
  Return true if o is of type `PyBool_Type`.

PyObject* `Py_False`
  The Python `False` object. This object has no methods. It needs to be treated just like any other object with respect to reference counts.

PyObject* `Py_True`
  The Python `True` object. This object has no methods. It needs to be treated just like any other object with respect to reference counts.

`Py_RETURN_FALSE`
  Return `Py_False` from a function, properly incrementing its reference count.

`Py_RETURN_TRUE`
  Return `Py_True` from a function, properly incrementing its reference count.

PyObject* `PyBool_FromLong`(long v)
  Return value: New reference.

  Return a new reference to `Py_True` or `Py_False` depending on the truth value of v.

### Navigation

- index
- modules |
- next |
- previous |
- Python v3.1b1 documentation »
- Python/C API Reference Manual »
- Concrete Objects Layer »