将Cython属性暴露给Python的Pythonic方法是什么?

时间:2016-04-09 03:36:08

标签: python cython

我正在尝试创建一个Cython类,它具有一些需要从Python访问的属性。现在,我能想到的最简洁的方法就是使用@property明确定义getter和setter,如下所示:

@property
def some_attr(self):
    return self._some_attr

@some_attr.setter
def some_attr(self, unicode val):
    self._some_attr = val

对我来说这感觉就像是一堆无关且冗长的锅炉。在Cython中没有内置的装饰器来做这个吗?

1 个答案:

答案 0 :(得分:2)

用于定义在Python级别可访问的属性的关键字是public

cdef class Foo:
    cdef public unicode some_attr
    ...