【发布时间】:2019-10-07 18:45:39
【问题描述】:
我在 cython 中为 python 创建了一个 C++ 包装器。
C++ 类的方法名为 makeBooleanValue,但在 python 中我希望等效方法为 make_boolean_value。
但我得到了错误:
Traceback(最近一次调用最后一次): 文件“saxon_example.py”,第 7 行,在 xdmAtomicval = proc.make_boolean_value(False) AttributeError: 'saxonc.PySaxonProcessor' 对象没有属性 'make_boolean_value'
看来我不能在 cython 中使用不同的命名约定。
在 pxd 文件中,我有以下内容:
XdmAtomicValue * makeBooleanValue(bool b)
在 pyx 文件中,我有以下内容:
def make_boolean_value(self, b): cdef bool c_b = b cdef PyXdmAtomicValue val = PyXdmAtomicValue() val.derivedaptr = val.derivedptr = val.thisvptr = self.thisptr.makeBooleanValue(c_b) return val
但在我的 python 示例脚本中:
print(dir(library))
我得到 makeBooleanValue
请问有什么我想念的吗?
【问题讨论】: