我正在尝试创建一个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中没有内置的装饰器来做这个吗?
答案 0 :(得分:2)
用于定义在Python级别可访问的属性的关键字是public
:
cdef class Foo:
cdef public unicode some_attr
...