jjzjj

python - cpdef 和封装在 def 中的 cdef 有什么区别?

在Cython文档中有一个example他们给出了两种编写C/Python混合方法的方法。一个显式的,带有用于快速C访问的cdef和用于从Python访问的包装器def:cdefclassRectangle:cdefintx0,y0cdefintx1,y1def__init__(self,intx0,inty0,intx1,inty1):self.x0=x0;self.y0=y0;self.x1=x1;self.y1=y1cdefint_area(self):cdefintareaarea=(self.x1-self.x0)*(self.y1-self.y0)ifarea还有一个使用c

python - cython中def、cdef、cpdef的定义

我想知道在声明函数时def、cdef和cpdef之间的区别。def和其他def之间的区别或多或少是清楚的。而且我还看到,有时它会在声明中添加返回类型(cdefvoid/double/int...name),有时则不会。我也想知道如何在cython中声明一个字符串变量,因为我不知道,我把它声明为对象。 最佳答案 主要区别在于可以从哪里调用函数:def函数可以从Python和Cython调用,而cdef函数可以从Cython和C调用。两种类型的函数都可以使用类型化和非类型化参数的任意混合声明,并且在这两种情况下,Cython将内部结构编