2016-04-09 5 views
2

Ich versuche eine Cython-Klasse zu erstellen, die einige Attribute hat, auf die von Python zugegriffen werden muss. Gerade jetzt, die sauberste Art, wie ich denken kann, dies zu tun ist mit @property explizit Getter und Setter definiert wie folgt:Was ist die Pythonic-Methode, um Cython-Attribute Python zur Verfügung zu stellen?

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

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

Das fühlt sich an wie eine Menge von Fremd und ausführlichem Kesselblech zu mir. Gibt es keine integrierte Möglichkeit, dies mit einem Decorator in Cython zu tun?

Antwort

2

Das Schlüsselwort ein Attribut als zugänglich Python Ebene zu definieren, ist public:

cdef class Foo: 
    cdef public unicode some_attr 
    ...