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.