Reference Counting

Unlike programs written in Python, C extensions have to manipulate the reference count of Python objects. This is done using the following macros:

Macro Description
Py_INCREF(obj ) Increments the reference count of obj , which must be non-NULL
Py_DECREF(obj ) Decrements the reference count of obj , which must be non-NULL
Py_XINCREF(obj ) Increments the reference count of obj , which may be NULL
Py_XDECREF(obj ) Decrements the reference count of obj , which may be NULL

Manipulating the reference count of Python objects in C is a delicate topic, and readers are strongly advised to consult the “Extending and Embedding the Python Interpreter” document available at http://www.python.org/doc/ext before proceeding any further. With ...

Get Python Essential Reference, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.