Reference Counting

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

MacroDescription
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 this ...

Get Python: Essential Reference, Third 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.