Home | History | Annotate | Download | only in c-api
      1 .. highlightlang:: c
      2 
      3 .. _boolobjects:
      4 
      5 Boolean Objects
      6 ---------------
      7 
      8 Booleans in Python are implemented as a subclass of integers.  There are only
      9 two booleans, :const:`Py_False` and :const:`Py_True`.  As such, the normal
     10 creation and deletion functions don't apply to booleans.  The following macros
     11 are available, however.
     12 
     13 
     14 .. c:function:: int PyBool_Check(PyObject *o)
     15 
     16    Return true if *o* is of type :c:data:`PyBool_Type`.
     17 
     18    .. versionadded:: 2.3
     19 
     20 
     21 .. c:var:: PyObject* Py_False
     22 
     23    The Python ``False`` object.  This object has no methods.  It needs to be
     24    treated just like any other object with respect to reference counts.
     25 
     26 
     27 .. c:var:: PyObject* Py_True
     28 
     29    The Python ``True`` object.  This object has no methods.  It needs to be treated
     30    just like any other object with respect to reference counts.
     31 
     32 
     33 .. c:macro:: Py_RETURN_FALSE
     34 
     35    Return :const:`Py_False` from a function, properly incrementing its reference
     36    count.
     37 
     38    .. versionadded:: 2.4
     39 
     40 
     41 .. c:macro:: Py_RETURN_TRUE
     42 
     43    Return :const:`Py_True` from a function, properly incrementing its reference
     44    count.
     45 
     46    .. versionadded:: 2.4
     47 
     48 
     49 .. c:function:: PyObject* PyBool_FromLong(long v)
     50 
     51    Return a new reference to :const:`Py_True` or :const:`Py_False` depending on the
     52    truth value of *v*.
     53 
     54    .. versionadded:: 2.3
     55