| Georg Brandl | 54a3faa | 2008-01-20 09:30:57 +0000 | [diff] [blame] | 1 | .. highlightlang:: c | 
 | 2 |  | 
 | 3 | .. _noneobject: | 
 | 4 |  | 
 | 5 | The None Object | 
 | 6 | --------------- | 
 | 7 |  | 
 | 8 | .. index:: object: None | 
 | 9 |  | 
| Georg Brandl | 60203b4 | 2010-10-06 10:11:56 +0000 | [diff] [blame] | 10 | Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in the | 
| Georg Brandl | 54a3faa | 2008-01-20 09:30:57 +0000 | [diff] [blame] | 11 | Python/C API.  Since ``None`` is a singleton, testing for object identity (using | 
| Georg Brandl | 60203b4 | 2010-10-06 10:11:56 +0000 | [diff] [blame] | 12 | ``==`` in C) is sufficient. There is no :c:func:`PyNone_Check` function for the | 
| Georg Brandl | 54a3faa | 2008-01-20 09:30:57 +0000 | [diff] [blame] | 13 | same reason. | 
 | 14 |  | 
 | 15 |  | 
| Georg Brandl | 60203b4 | 2010-10-06 10:11:56 +0000 | [diff] [blame] | 16 | .. c:var:: PyObject* Py_None | 
| Georg Brandl | 54a3faa | 2008-01-20 09:30:57 +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 |  | 
| Georg Brandl | 60203b4 | 2010-10-06 10:11:56 +0000 | [diff] [blame] | 23 | .. c:macro:: Py_RETURN_NONE | 
| Georg Brandl | 54a3faa | 2008-01-20 09:30:57 +0000 | [diff] [blame] | 24 |  | 
| Georg Brandl | 60203b4 | 2010-10-06 10:11:56 +0000 | [diff] [blame] | 25 |    Properly handle returning :c:data:`Py_None` from within a C function (that is, | 
| Georg Brandl | 54a3faa | 2008-01-20 09:30:57 +0000 | [diff] [blame] | 26 |    increment the reference count of None and return it.) |