cython是否支持@property语法?

时间:2016-12-22 18:33:41

标签: cython

我正在尝试通过cython公开一些C ++类。我正在阅读教程here,它似乎表明了它的确如此,但是当我使用@propery装饰器时,它无法正常工作。

嗯,实际上,它确实适用于获取,但@foo.setterTypeError: 'property' object is not callable而失败。

根据this thread,cython并不完全支持@property

我能够使用here描述的语法公开类属性,但他们说它已被弃用了!

那么这笔交易是什么?!

1 个答案:

答案 0 :(得分:0)

好的,这是合约。

在一天结束时,我使用的是过时的cython版本。具体来说,我使用的是0.23.4。当我更新到0.25.2 @property语法“刚刚工作”。

但是,关于这一点的cython文档很糟糕,因为它在文档的两个不同部分讨论属性,而且只在一个文档中讨论了“新”@property语法。在另一个位置,它只是说不推荐使用(非@property)语法。

在我的问题中,我指的是未提及@property here的官方(和当前)文档。请注意,这是在“参考指南”中。

如果您改为查看here,则会找到新的@property语法。请注意,这是“用户指南”。

我不知道为什么cython文档有参考指南和讨论相同主题的用户指南,但一个遗漏了重要信息。这个答案在这里帮助下一个任性的cython新手试图解决这个问题。