2019-05-17 06:55:34 -03:00
|
|
|
.. highlight:: c
|
2008-01-20 05:30:57 -04:00
|
|
|
|
|
|
|
.. _noneobject:
|
|
|
|
|
2016-10-19 10:29:26 -03:00
|
|
|
The ``None`` Object
|
|
|
|
-------------------
|
2008-01-20 05:30:57 -04:00
|
|
|
|
|
|
|
.. index:: object: None
|
|
|
|
|
2010-10-06 07:11:56 -03:00
|
|
|
Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in the
|
2008-01-20 05:30:57 -04:00
|
|
|
Python/C API. Since ``None`` is a singleton, testing for object identity (using
|
2010-10-06 07:11:56 -03:00
|
|
|
``==`` in C) is sufficient. There is no :c:func:`PyNone_Check` function for the
|
2008-01-20 05:30:57 -04:00
|
|
|
same reason.
|
|
|
|
|
|
|
|
|
2010-10-06 07:11:56 -03:00
|
|
|
.. c:var:: PyObject* Py_None
|
2008-01-20 05:30:57 -04:00
|
|
|
|
|
|
|
The Python ``None`` object, denoting lack of value. This object has no methods.
|
|
|
|
It needs to be treated just like any other object with respect to reference
|
|
|
|
counts.
|
|
|
|
|
|
|
|
|
2010-10-06 07:11:56 -03:00
|
|
|
.. c:macro:: Py_RETURN_NONE
|
2008-01-20 05:30:57 -04:00
|
|
|
|
2010-10-06 07:11:56 -03:00
|
|
|
Properly handle returning :c:data:`Py_None` from within a C function (that is,
|
2016-10-19 10:29:26 -03:00
|
|
|
increment the reference count of ``None`` and return it.)
|