def在Python中声明一个函数。由于Cython基于C运行时,因此您可以使用
cdef和
cpdef。
cdef在C语言层中声明函数。如您所知(或不?),您必须使用C语言定义每个函数的返回值类型。有时,函数会以形式返回
void,这
return在Python中是等同的。
Python是一种面向对象的语言。因此,您还可以在C ++语言层中定义类方法,并在子类中覆盖此方法:
cdef class A: cdef foo(self): print "A"cdef class B(A) cdef foo(self, x=None) print "B", xcdef class C(B): cpdef foo(self, x=True, int k=3) print "C", x, k
总结,为什么我们需要使用
def,
cdef并
cpdef?因为如果您使用Cython,则在编译之前,您的Python代码将被转换为C代码。这样,您就可以控制生成的C代码列表。
有关更多信息,建议您阅读官方文档:http
:
//docs.cython.org/src/reference/language_basics.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)