我正在使用类型对象开发一个新的Python数据类型。我使用了“Definingnewtypesforpython2.7.12”作为指南,并且能够根据我的具体需求调整页面上的示例。我可以创建新的数据类型并将其添加到Python模块中。当我从Python运行东西时,我可以创建一个像这样的新对象。在
x = MyNewType()
在本例中,调用了我的tp_new
函数,我可以按照我想要的方式填充默认数据项。但是,如果我试图通过调用^ {< CD2> }在C++中做同样的事情,我的^ {< CD1}}函数不会被调用。作为一种解决方法,我可以对每个数据成员调用PyObject_SetAttrString()
,没有问题。我在我的tp_init
函数中看到了相同的问题,其中调用PyObject_Init()
不会导致我的tp_init
函数被调用。我花了一天的大部分时间试图找到这件事,但没找到。任何帮助都将不胜感激。在
最好的方法是call类对象,就像Python本身一样。在
信用证:我刚从this答案中学到的。在
相关问题 更多 >
编程相关推荐