cython是否支持数据类或类似内容

时间:2019-03-23 14:11:13

标签: python cython python-3.7 namedtuple python-dataclasses

我对在Python和Cython代码之间传递数据感兴趣,这样就可以从C语言访问数据而无需使用GIL。我正在考虑使用数据类(自py3.7起),命名为元组(自py3.6起具有良好的定义语法)或Cython的扩展类型(cdef类)来实现此目标。

不幸的是,数据类和命名元组似乎像来自Cython的通用对象一样被处理,而没有任何被编译为C的支持。

可以使用Cython扩展类型(cdef类),但是与数据类相比它们有很多缺点,最重要的是,您必须使用样板代码实现__init__来设置所有类的属性,对吧?

1 个答案:

答案 0 :(得分:0)

我问Cython开发人员,他们打开了一个功能请求,以实现@dataclass的扩展类型(cdef类):https://github.com/cython/cython/issues/2903。因此,希望他们很快会在Cython中得到支持。