TypeError: Mean() missing 1 required positional argument: 'data'
TypeError: Mean() missing 1 required positional argument: 'data'
我正在尝试使用 classes 编写一个基本的均值计算器。但是,我收到错误
TypeError: Mean() missing 1 required positional argument: 'data'
我有两个文件:一个包含 class 和 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)
你定义了实例方法,但是没有实例。
另外,最好把'Mean'改成'mean'。
我正在尝试使用 classes 编写一个基本的均值计算器。但是,我收到错误
TypeError: Mean() missing 1 required positional argument: 'data'
我有两个文件:一个包含 class 和 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)
你定义了实例方法,但是没有实例。
另外,最好把'Mean'改成'mean'。