在同一类中的另一个函数中调用的函数的AttributeError-Python
当我运行以下代码时,我得到一个AttributeError:“set”对象没有属性findMean。我做错了什么在同一类中的另一个函数中调用的函数的AttributeError-Python,python,Python,当我运行以下代码时,我得到一个AttributeError:“set”对象没有属性findMean。我做错了什么 class BasicStats: def findMean(self, num = {}): length = len(num) sum = 0 for x in num: sum = sum + x mean =sum/length return mean
class BasicStats:
def findMean(self, num = {}):
length = len(num)
sum = 0
for x in num:
sum = sum + x
mean =sum/length
return mean
def findVariance(self, num = {}):
mean = self.findMean(num)
length = len(num)
squared_difference = 0
for x in num:
squared_difference = squared_difference + (x-mean)**2
variance = squared_difference/length
return variance
arr = {1, 23, 343.34, 2}
findVariance(arr)
这是因为
self
在该范围内是一个集合
。更具体地说,它是arr
(这是一个集合,您作为第一个参数传入)
self
关键字仅适用于针对类实例调用的函数(这种特殊类型的函数称为方法,请阅读更多。)感谢您的帮助。我需要做什么才能让它正常工作?你应该在课外尝试以下方法:stats=BasicStats()
然后print(stats.findMean(arr))