我有一个包装类,如下面的示例中所示,它是用Python编写的。
class Foo:
def __init__(self, bar=None):
if bar:
self._bar = bar
else:
self._bar = CreateBarObject("value")
我通过Python C API创建了一个实例
// c++ pseudo code for convenience
auto obj = PyObject_CallObject(Foo)
auto bar = CreateBarObject("another_value");
PyObject_SetAttrString(obj, "_bar", bar)
从代码中可以看到,Foo.__init__当创建新bar对象的实例被创建时将被调用。但是,我想绕过这种“繁重的”操作。那么,有什么安全的方法可以创建Foo实例,以便我可以self._bar通过Python C API进行设置?有任何想法吗?
相关分类