尝试在可以从Python模块实例化的C扩展中构建Python类

尝试在可以从Python模块实例化的C扩展中构建Python类,python,Python,我试图构建一个异常类,我可以在C扩展和导入扩展的Python模块中使用它。我正在使用PyErr_NewException将该类创建为Exception类的超类,但我不知道如何为该类创建\uuuuuu init\uuuu构造函数。我认为这是用我需要的属性填充类的最佳方法。您应该将dict作为第三个参数传递给PyErr\u NewException。dict应该有一个\uuuu init\uuuu键绑定到初始化器函数。到目前为止你有什么?PyObject*失败;PyObject*module=Py_

我试图构建一个异常类,我可以在C扩展和导入扩展的Python模块中使用它。我正在使用PyErr_NewException将该类创建为Exception类的超类,但我不知道如何为该类创建
\uuuuuu init\uuuu
构造函数。我认为这是用我需要的属性填充类的最佳方法。

您应该将
dict
作为第三个参数传递给
PyErr\u NewException
。dict应该有一个
\uuuu init\uuuu
键绑定到初始化器函数。

到目前为止你有什么?PyObject*失败;PyObject*module=Py_InitModule3(“andro”,方法,moduledcstring);int-fd;无符号设备;Api;如果(module!=NULL){//module init是成功的failure=PyErr_NewException(“andro.failure”,NULL,Py_BuildValue(“{}”);PyModule_AddObject(module,“failure”,failure);我已经研究过了这一点,但我不能告诉什么类型的对象与“init”关联它是一个代码对象吗?我猜是一个函数。我在网上搜索时发现了一些半有趣的例子。