2016-04-09 11 views
2

私は、Pythonからアクセス可能でなければならないいくつかの属性を持つCythonクラスを作成しようとしています。今、私はそれをやって考えることができますクリーンな方法は、明示的にそうようなゲッターとセッターを定義するために@propertyを使用している:Cython属性をPythonに公開するPythonの方法は何ですか?

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

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

これは私に余分なと冗長ボイラープレートの多くのように感じています。 Cythonのデコレータでこれを行うための組み込みの方法はありませんか?

答えて

2

Pythonのレベルでアクセス可能などの属性を定義するためのキーワードがpublic次のとおりです。

cdef class Foo: 
    cdef public unicode some_attr 
    ... 
関連する問題