我有一个用 Cython 包装的函数:
cdef extern from "myheader.h":
int c_my_func (const_char *a, const_char* b)
还有一个暴露给 Python 的函数:
def my_func(a, b):
c_my_func(a, b)
该函数c_my_func
接受 NULL 作为参数a
和b
。当我从口译员那里调用它时:
my_func(None, None)
它抛出异常:
TypeError: expected string or Unicode object, NoneType found
如何让这个函数接受None
并传递NULL
给c_my_func
? 我不想手动检查None
然后传递NULL。我还尝试在 的 cdef 上使用默认参数,c_my_func
但它不起作用。