首页 > 解决方案 > Cython 尝试将 self 与 cython 类一起使用

问题描述

我正在尝试学习一点 cython,以便我可以更快地编写代码。我从指定 cython 函数开始,但正如您所见,这导致了错误。除了我遇到的这个特定错误之外,我正在慢慢理解它。我在类的init函数中定义了int类型变量。这在没有 cython 的情况下可以正常工作,但是当我尝试对类进行 cython 化时,它会给我一个属性错误。我现在明白只有当您可以从代码内部访问类/函数时才使用 cdef,而我正在这样做。

cdef class Renamednotclassname:
    def __init__(self, var1, var2):
        cdef int self.rs = 0
        cdef int self.rl = 0’

这是给我问题的部分,这对我来说没有意义,因为我可以在同一个类的另一个函数中定义一个 cdef 整数就好了。

AttributeError:“cythonfile.classname”对象没有属性“rs”

我有一个调用我所有内部类和函数的主函数,我使用导入从外部文件调用主函数。我已经重命名了我所有的类、函数和变量(名称没有问题)。属性错误是说 file.class 对象没有属性 self.rs。我的问题是为什么这适用于本机 python 而不是 cython,我该如何解决这个问题?

标签: pythoncpython-3.xcythonattributeerror

解决方案


推荐阅读