Dir*_*eah 2 python python-3.x anaconda
我正在尝试使用类来编写一个基本的平均计算器。但是,我收到错误
TypeError: Mean() missing 1 required positional argument: 'data'
Run Code Online (Sandbox Code Playgroud)
我有两个文件:一个包含具有平均函数的类,然后一个调用它,那就是我收到错误的时候。我的代码是:
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))
Run Code Online (Sandbox Code Playgroud)
抛出错误的代码是:
from Statistics import Statistics
X=(0,1,3,5)
mean_x=Statistics.Mean(X)
print(mean_x)
Run Code Online (Sandbox Code Playgroud)
Mean是一个实例方法,因此您需要在实例上调用它(该实例将成为self方法调用的参数)。
statistics = Statistics(None, None, None, None)
mean_x = statistics.Mean((0, 1, 3, 5))
Run Code Online (Sandbox Code Playgroud)
由于未使用上的参数,Statistics.__init__我建议删除它们(或完全删除__init__):
class Statistics:
def mean(self, data):
return sum(data)/float(len(data))
Run Code Online (Sandbox Code Playgroud)
from Statistics import Statistics
X = (0,1,3,5)
statistics = Statistics()
mean_x = statistics.mean(X)
print(mean_x)
Run Code Online (Sandbox Code Playgroud)
请注意,Python 附带了一个内置函数的statistics模块:mean
import statistics
X = (0,1,3,5)
mean_x = statistics.mean(X)
print(mean_x)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2162 次 |
| 最近记录: |