if (myDef) { /* MyClass = my_def.MyClass */ PyObject *myClass = PyObject_GetAttrString(myDef, "MyClass"); if (myClass) { /* instance = MyClass() */ PyObject *instance = PyObject_CallObject(myClass, NULL); if (instance) { /* noneResult = instance.Test() */ PyObject *noneResult = PyObject_CallMethod(instance, "Test", NULL); if (noneResult == Py_None) { printf("None returned\n"); } Py_XDECREF(instance); } Py_XDECREF(myClass); } Py_XDECREF(myDef); }