blob: aeaca9719dc9b4211fbf3bffee7d56e55fc57f88 [file] [log] [blame]
Georg Brandlf6842722008-01-19 22:08:21 +00001.. highlightlang:: c
2
3.. _noneobject:
4
5The None Object
6---------------
7
8.. index:: object: None
9
Sandro Tosi98ed08f2012-01-14 16:42:02 +010010Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in the
Georg Brandlf6842722008-01-19 22:08:21 +000011Python/C API. Since ``None`` is a singleton, testing for object identity (using
Sandro Tosi98ed08f2012-01-14 16:42:02 +010012``==`` in C) is sufficient. There is no :c:func:`PyNone_Check` function for the
Georg Brandlf6842722008-01-19 22:08:21 +000013same reason.
14
15
Sandro Tosi98ed08f2012-01-14 16:42:02 +010016.. c:var:: PyObject* Py_None
Georg Brandlf6842722008-01-19 22:08:21 +000017
18 The Python ``None`` object, denoting lack of value. This object has no methods.
19 It needs to be treated just like any other object with respect to reference
20 counts.
21
22
Sandro Tosi98ed08f2012-01-14 16:42:02 +010023.. c:macro:: Py_RETURN_NONE
Georg Brandlf6842722008-01-19 22:08:21 +000024
Sandro Tosi98ed08f2012-01-14 16:42:02 +010025 Properly handle returning :c:data:`Py_None` from within a C function.
Georg Brandlf6842722008-01-19 22:08:21 +000026
27 .. versionadded:: 2.4
28