Я обертываю некоторый код С++ с помощью cython, и я не уверен, что лучший способ справиться с параметрами со значениями по умолчанию.
В моем коде С++ у меня есть функция, для которой параметры имеют значения по умолчанию. Я хотел бы обернуть их таким образом, чтобы эти значения по умолчанию использовались, если параметры не заданы. Есть ли способ сделать это?
В этот момент единственным способом, который я могу видеть, чтобы предоставить параметры параметра, является определение их как части кода python (в разделе def func
в pycode.pyx ниже), но затем У меня есть значения по умолчанию, определенные более одного раза, которые я не хочу.
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)