我不明白为什么函数compute
在类myclass
之外时起作用,而在函数import numpy as np
from numba import njit
@njit
def compute(length):
x=np.zeros(length)
for i in range(length):
x[i] = i
return x
class myclass():
def __init__(self):
self.length = 100
def Simule(self):
res = compute(self.length)
print(res)
def Simule2(self):
res = self.compute(self.length)
print(res)
@njit
def compute(self, length):
x = np.zeros(length)
for i in range(length):
x[i] = i
return x
if __name__ == "__main__":
instance = myclass()
instance.Simule()
instance.Simule2()
之外时为什么不起作用?
firebase-authentication
答案 0 :(得分:1)
该装饰器似乎无法识别装饰的马蹄莲是函数还是方法,您可以将其更改为静态方法:
import numpy as np
from numba import njit
@njit
def compute(length):
x=np.zeros(length)
for i in range(length):
x[i] = i
return x
class myclass():
def __init__(self):
self.length = 100
def Simule(self):
res = compute(self.length)
print(res)
def Simule2(self):
res = self.compute(self.length)
print(res)
@staticmethod
@njit
def compute(length):
x = np.zeros(length)
for i in range(length):
x[i] = i
return x
if __name__ == "__main__":
instance = myclass()
instance.Simule()
instance.Simule2()