[Python-Dev] creating factory methods in C extension modules.

Raymond Hettinger python at rcn.com
Tue Jun 8 09:04:59 EDT 2004

> I'm creating an C extension module that returns one of my C-defined
> classes from a factory function. is it correct to simple have the
> function allocate and init the object by calling the functions I
> and
> set as tp_new and tp_init in the PyTypeObject? If not am I supposed to
> PyObject_New and PyObject_Init or something?

These kind of questions should be directed to comp.lang.python.

FWIW, good examples can be found in Objects/listobject.c.  The code for
list_slice is effectively a factory function that returns a new list.
It calls PyList_New() which calls PyObject_GC_New() to create the new


More information about the Python-Dev mailing list