cython中def,cdef和cpdef的定义

cython中def,cdef和cpdef的定义,第1张

cython中def,cdef和cpdef的定义

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5644890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存