Python C API,tp\u new函数未被调用

2024-09-28 01:23:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用类型对象开发一个新的Python数据类型。我使用了“Definingnewtypesforpython2.7.12”作为指南,并且能够根据我的具体需求调整页面上的示例。我可以创建新的数据类型并将其添加到Python模块中。当我从Python运行东西时,我可以创建一个像这样的新对象。在

x = MyNewType()

在本例中,调用了我的tp_new函数,我可以按照我想要的方式填充默认数据项。但是,如果我试图通过调用^ {< CD2> }在C++中做同样的事情,我的^ {< CD1}}函数不会被调用。作为一种解决方法,我可以对每个数据成员调用PyObject_SetAttrString(),没有问题。我在我的tp_init函数中看到了相同的问题,其中调用PyObject_Init()不会导致我的tp_init函数被调用。我花了一天的大部分时间试图找到这件事,但没找到。任何帮助都将不胜感激。在


Tags: 模块对象函数示例类型newinit方式

热门问题