x = np.random.normal(size=1000)
class arrays:
def __init__(self,data):
self.data=data
def ave(x):
ave=data.mean()
return self.ave
def sum(self):
self.s=sum(self.data)
return self.s
a=arrays(x)
我试图用类来求1000个随机数的长度、平均值和总和。我试着用这种方式写代码,但我遇到了这个错误。TypeError: unsupported operand type(s) for +: 'int' and 'str'
有人能帮我调试代码吗?
import numpy as np
x = np.random.normal(size=1000)
class arrays:
def __init__(self, data):
self.data = data
def ave(self):
ave = self.data.mean()
return ave
def sum(self):
s = sum(self.data)
return s
a = arrays(x)
x = a.ave()
y = a.sum()
print(x, y)
我相信这就是你想要的。函数的参数是self,您可以直接返回结果。
这篇文章比我能更好地解释OOP范式。https://www.programiz.com/python-programming/object-oriented-programming
您也可以直接在x上调用函数,并将结果保存在这样的变量中
sum1 = x.sum()
mean1 = x.mean()