[Python-Dev] Subclassing in 'C'
ronaldoussoren at mac.com
Sun Jun 26 15:26:35 CEST 2005
On 23-jun-2005, at 21:05, Robert W. Johnstone wrote:
> I'm trying to develop an extension module in C, but am having some
> difficulties. I thought about posting to the general python mailling
> list, but since it has to do with the C API I figured this was the
The python list would have been the right location.
> My difficulty lies with subclassing a class provided by another
> module. I have access to the structure definition, so I can
> determine the
> size fo the tp_basicsize member of the PyTypeObject structure. What I
> can't seem to determine is value for the tp_base element.
> This is my current "best guess".
> PyObject* superclass;
> superclass = PyObject_GetAttrString( module, "SuperClass" );
> if ( !superclass ) return;
> type.tp_base = superclass->ob_type;
type.tp_base = (PyTypeObject*)superclass;
> Py_DECREF( superclass );
And don't decref the superclass. You may want to add a typecheck that
checks if the superclass is a type.
More information about the Python-Dev