我正在尝试使用类编写一个基本的均值计算器。但是,我收到了错误
TypeError: Mean() missing 1 required positional argument: 'data'
我有两个文件:一个包含带有 mean 函数的类,另一个调用它,这就是我遇到错误的时候。我的代码是:
class Statistics:
def __init__(self,mean_x,mean_y,var,covar):
self.mean_x=mean_x
self.mean_y=mean_y
self.var=var
self.covar=covar
def Mean(self,data):
return sum(data)/float(len(data))
抛出错误的代码是:
from Statistics import Statistics
X=(0,1,3,5)
mean_x=Statistics.Mean(X)
print(mean_x)
最佳答案
Mean
是一个实例方法,因此您需要在实例上调用它(它将成为方法调用的 self
参数)。
statistics = Statistics(None, None, None, None)
mean_x = statistics.Mean((0, 1, 3, 5))
由于未使用 Statistics.__init__
上的参数,因此我建议删除它们(或者干脆删除 __init__
):
class Statistics:
def mean(self, data):
return sum(data)/float(len(data))
from Statistics import Statistics
X = (0,1,3,5)
statistics = Statistics()
mean_x = statistics.mean(X)
print(mean_x)
请注意,Python 附带一个 statistics
模块,该模块内置了一个 mean
函数:
import statistics
X = (0,1,3,5)
mean_x = statistics.mean(X)
print(mean_x)
关于python - 类型错误 : Mean() missing 1 required positional argument: 'data' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71038415/