cython:如何声明一个没有返回值的 cdef 函数

标签 cython

当我声明一个返回 double 的 cdef 函数时,我会写 cdef double method_name(...) 。如果它没有返回任何东西并且我只是将它省略给 cdef method_name(...) 然后 cython --annotate 将其标记为黄色。如何声明方法/函数不返回任何内容?
cdef void method_name(...) 因段错误而崩溃
cdef None method_name(...) -> 'None' is not a type identifier

最佳答案

--annotate 将其标记为黄色,因为如果省略返回类型注释 ( Cython Language Basics ),cython 会假定返回类型为 python 对象。

指定 void 作为返回类型对我有用。很多官方示例中也用到了它,只要确保不返回任何内容即可。

关于cython:如何声明一个没有返回值的 cdef 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33844421/

相关文章:

cython - 如何在 'language=c++'模式下使用C复数?

python - 将 Python 加速器(Cython、Numba、f2py)与 Numpy einsum 进行比较

python - 用 Cython 包装一个 f2py 编译的 Fortran .so(不通过 python)

python - 如何手动编译使用 C++ 的 Cython 代码?

python - 从 int 继承的 Cython 扩展类型导致 MemoryError

c++ - 如何将字符串从 Python3 传递给 cythonized C++ 函数

python - 基于二维数组中的一列对数据进行分箱,并使用 cython 估计每个箱中的平均值

python - 对称稀疏矩阵的高效切片

c++ - 结合python和c++,或者cython,优化一个函数;最大似然示例;对c++的了解很少

python - 使用Cython加速连通分量算法