Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在类中声明变量_Python_Numba - Fatal编程技术网

Python 在类中声明变量

Python 在类中声明变量,python,numba,Python,Numba,当我尝试导入以下JIT类时,字典上出现一个键错误: from numba import jitclass, float64 spec = [('n', float64), ('w', float64), ('a', float64)] @jitclass(spec) class foo: def __init__(self,n,w): self.n = n self.w = w def foo2(self)

当我尝试导入以下JIT类时,字典上出现一个键错误:

from numba import jitclass, float64

spec = [('n', float64),
        ('w', float64),
        ('a', float64)]

@jitclass(spec)
class foo:

    def __init__(self,n,w):

        self.n = n
        self.w = w

    def foo2(self):

        a = self.n*self.w

        return a + 1.

我不明白错误是从哪里来的。numba文档不足以解释事情。我是否需要所有变量都是类变量?

jitclass需要从
对象继承:

from numba import jitclass, float64

spec = [('n', float64),
        ('w', float64),
        ('a', float64)]

@jitclass(spec)
class foo(object):

    def __init__(self,n,w):

        self.n = n
        self.w = w

    def foo2(self):

        a = self.n*self.w

        return a + 1.

文档中似乎没有提到这是一项要求,但它是如何编写示例的

您的类没有
字段。为什么要在规范中列出一个?如果我从规范中拉出“a”条目,我会得到相同的错误,所以这实际上似乎不是问题所在。或者这是一种非常迟钝的方式。谢谢!在文档中提到这一点非常重要。