xref: /third_party/python/Doc/c-api/bool.rst (revision 7db96d56)
17db96d56Sopenharmony_ci.. highlight:: c
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci.. _boolobjects:
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciBoolean Objects
67db96d56Sopenharmony_ci---------------
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ciBooleans in Python are implemented as a subclass of integers.  There are only
97db96d56Sopenharmony_citwo booleans, :const:`Py_False` and :const:`Py_True`.  As such, the normal
107db96d56Sopenharmony_cicreation and deletion functions don't apply to booleans.  The following macros
117db96d56Sopenharmony_ciare available, however.
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci.. c:function:: int PyBool_Check(PyObject *o)
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ci   Return true if *o* is of type :c:data:`PyBool_Type`.  This function always
177db96d56Sopenharmony_ci   succeeds.
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ci.. c:var:: PyObject* Py_False
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ci   The Python ``False`` object.  This object has no methods.  It needs to be
237db96d56Sopenharmony_ci   treated just like any other object with respect to reference counts.
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci.. c:var:: PyObject* Py_True
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ci   The Python ``True`` object.  This object has no methods.  It needs to be treated
297db96d56Sopenharmony_ci   just like any other object with respect to reference counts.
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci.. c:macro:: Py_RETURN_FALSE
337db96d56Sopenharmony_ci
347db96d56Sopenharmony_ci   Return :const:`Py_False` from a function, properly incrementing its reference
357db96d56Sopenharmony_ci   count.
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci.. c:macro:: Py_RETURN_TRUE
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ci   Return :const:`Py_True` from a function, properly incrementing its reference
417db96d56Sopenharmony_ci   count.
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ci
447db96d56Sopenharmony_ci.. c:function:: PyObject* PyBool_FromLong(long v)
457db96d56Sopenharmony_ci
467db96d56Sopenharmony_ci   Return a new reference to :const:`Py_True` or :const:`Py_False` depending on the
477db96d56Sopenharmony_ci   truth value of *v*.
48