我有一个 python 类,它有一些属性。我将类转换为 cython 扩展类型并在其中定义属性,使用属性http://docs.cython.org/src/userguide/extension_types.html#properties的 cython 语法。我看到必须使用 def 声明属性,否则会出现编译错误“此处不允许 cdef 语句”。
我的类也在另一个 cython 模块中使用,我想以 c 速度而不是 python 速度访问该类的属性,否则它会否定我通过使用 cython 获得的加速。我知道如果我使用像 get_params() 和 set_params(params) 这样的 cdef setter 和 getter 函数会更快,但是如果我做这个改变,那么我也必须在 python 代码中做这件事(这样我的 python 和 cython 代码差异不大并且可以兼容)但这使得python代码的可读性降低....进退两难!
有没有快速访问cython属性的方法?还是您有任何其他建议,这样我就不必更改我的 python 代码来使用 setter 和 getter 函数?