.. highlight:: c
.. _noneobject:
The ``None`` Object
-------------------
.. index:: pair: object; None
Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in the
Python/C API. Since ``None`` is a singleton, testing for object identity (using
``==`` in C) is sufficient. There is no :c:func:`!PyNone_Check` function for the
same reason.
.. c:var:: PyObject* Py_None
The Python ``None`` object, denoting lack of value. This object has no methods
and is :term:`immortal`.
.. versionchanged:: 3.12
:c:data:`Py_None` is :term:`immortal`.
.. c:macro:: Py_RETURN_NONE
Return :c:data:`Py_None` from a function.