bpo-43753: Add Py_Is() and Py_IsNone() functions (GH-25227)

Add the Py_Is(x, y) function to test if the 'x' object is the 'y'
object, the same as "x is y" in Python. Add also the Py_IsNone(),
Py_IsTrue(), Py_IsFalse() functions to test if an object is,
respectively, the None singleton, the True singleton or the False
singleton.
This commit is contained in:
Victor Stinner 2021-04-11 00:17:39 +02:00 committed by GitHub
parent 6e468cb16b
commit 09bbebea16
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 198 additions and 38 deletions

View file

@ -62,6 +62,37 @@ the definition of all other Python objects.
See documentation of :c:type:`PyVarObject` above.
.. c:function:: int Py_Is(const PyObject *x, const PyObject *y)
Test if the *x* object is the *y* object, the same as ``x is y`` in Python.
.. versionadded:: 3.10
.. c:function:: int Py_IsNone(const PyObject *x)
Test if an object is the ``None`` singleton,
the same as ``x is None`` in Python.
.. versionadded:: 3.10
.. c:function:: int Py_IsTrue(const PyObject *x)
Test if an object is the ``True`` singleton,
the same as ``x is True`` in Python.
.. versionadded:: 3.10
.. c:function:: int Py_IsFalse(const PyObject *x)
Test if an object is the ``False`` singleton,
the same as ``x is False`` in Python.
.. versionadded:: 3.10
.. c:function:: PyTypeObject* Py_TYPE(const PyObject *o)
Get the type of the Python object *o*.