17db96d56Sopenharmony_ci.. highlight:: c
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci.. _noneobject:
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciThe ``None`` Object
67db96d56Sopenharmony_ci-------------------
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci.. index:: pair: object; None
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ciNote that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in the
117db96d56Sopenharmony_ciPython/C API.  Since ``None`` is a singleton, testing for object identity (using
127db96d56Sopenharmony_ci``==`` in C) is sufficient. There is no :c:func:`PyNone_Check` function for the
137db96d56Sopenharmony_cisame reason.
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ci.. c:var:: PyObject* Py_None
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ci   The Python ``None`` object, denoting lack of value.  This object has no methods.
197db96d56Sopenharmony_ci   It needs to be treated just like any other object with respect to reference
207db96d56Sopenharmony_ci   counts.
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ci.. c:macro:: Py_RETURN_NONE
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci   Properly handle returning :c:data:`Py_None` from within a C function (that is,
267db96d56Sopenharmony_ci   increment the reference count of ``None`` and return it.)
27