我正在使用 cython 包装一些 c++ 代码,但我不确定使用默认值处理参数的最佳方法是什么。
在我的 c++ 代码中,我有参数具有默认值的函数。我想以这样一种方式包装它们,以便在未给出参数的情况下使用这些默认值。有没有办法做到这一点?
在这一点上,我可以看到提供选项参数的唯一方法是将它们定义为 python 代码的一部分(在下面的pycode.pyxdef func
中),但是我已经多次定义了我不想要的默认值.
cppcode.h:
int init(const char *address=0, int port=0, int en_msg=false, int error=0);
pycode_c.pxd:
cdef extern from "cppcode.h":
int func(char *address, int port, int en_msg, int error)
pycode.pyx:
cimport pycode_c
def func(address, port, en_msg, error):
return pycode_c.func(address, port, en_msg, error)