In addition to the functions aimed at handling raw memory blocks from
the Python heap, objects in Python are allocated and released with
\cfunction{PyObject_New()}, \cfunction{PyObject_NewVar()} and
-\cfunction{PyObject_Del()}, or with their corresponding macros
-\cfunction{PyObject_NEW()}, \cfunction{PyObject_NEW_VAR()} and
-\cfunction{PyObject_DEL()}.
+\cfunction{PyObject_Del()}.
These will be explained in the next chapter on defining and
implementing new object types in C.
after this call as the memory is no longer a valid Python object.
\end{cfuncdesc}
-\begin{cfuncdesc}{\var{TYPE}*}{PyObject_NEW}{TYPE, PyTypeObject *type}
- Macro version of \cfunction{PyObject_New()}, to gain performance at
- the expense of safety. This does not check \var{type} for a \NULL{}
- value.
-\end{cfuncdesc}
-
-\begin{cfuncdesc}{\var{TYPE}*}{PyObject_NEW_VAR}{TYPE, PyTypeObject *type,
- Py_ssize_t size}
- Macro version of \cfunction{PyObject_NewVar()}, to gain performance
- at the expense of safety. This does not check \var{type} for a
- \NULL{} value.
-\end{cfuncdesc}
-
-\begin{cfuncdesc}{void}{PyObject_DEL}{PyObject *op}
- Macro version of \cfunction{PyObject_Del()}.
-\end{cfuncdesc}
-
\begin{cfuncdesc}{PyObject*}{Py_InitModule}{char *name,
PyMethodDef *methods}
Create a new module object based on a name and table of functions,