Georg Brandl | f684272 | 2008-01-19 22:08:21 +0000 | [diff] [blame] | 1 | .. highlightlang:: c |
| 2 | |
| 3 | .. _noneobject: |
| 4 | |
Serhiy Storchaka | ad13f33 | 2016-10-19 16:29:10 +0300 | [diff] [blame] | 5 | The ``None`` Object |
| 6 | ------------------- |
Georg Brandl | f684272 | 2008-01-19 22:08:21 +0000 | [diff] [blame] | 7 | |
| 8 | .. index:: object: None |
| 9 | |
Sandro Tosi | 98ed08f | 2012-01-14 16:42:02 +0100 | [diff] [blame] | 10 | Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in the |
Georg Brandl | f684272 | 2008-01-19 22:08:21 +0000 | [diff] [blame] | 11 | Python/C API. Since ``None`` is a singleton, testing for object identity (using |
Sandro Tosi | 98ed08f | 2012-01-14 16:42:02 +0100 | [diff] [blame] | 12 | ``==`` in C) is sufficient. There is no :c:func:`PyNone_Check` function for the |
Georg Brandl | f684272 | 2008-01-19 22:08:21 +0000 | [diff] [blame] | 13 | same reason. |
| 14 | |
| 15 | |
Sandro Tosi | 98ed08f | 2012-01-14 16:42:02 +0100 | [diff] [blame] | 16 | .. c:var:: PyObject* Py_None |
Georg Brandl | f684272 | 2008-01-19 22:08:21 +0000 | [diff] [blame] | 17 | |
| 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 Tosi | 98ed08f | 2012-01-14 16:42:02 +0100 | [diff] [blame] | 23 | .. c:macro:: Py_RETURN_NONE |
Georg Brandl | f684272 | 2008-01-19 22:08:21 +0000 | [diff] [blame] | 24 | |
Sandro Tosi | 98ed08f | 2012-01-14 16:42:02 +0100 | [diff] [blame] | 25 | Properly handle returning :c:data:`Py_None` from within a C function. |
Georg Brandl | f684272 | 2008-01-19 22:08:21 +0000 | [diff] [blame] | 26 | |
| 27 | .. versionadded:: 2.4 |
| 28 | |