【问题标题】:AttributeError for function called in another function within same class - Python在同一类中的另一个函数中调用的函数的 AttributeError - Python
【发布时间】:2016-12-05 22:01:59
【问题描述】:

当我运行以下代码时,我得到一个 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     

    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)

【问题讨论】:

    标签: python


    【解决方案1】:

    这是因为该范围内的selfset。更具体地说,它是arr(它是一个集合,您作为第一个参数传入)。

    self 关键字仅适用于针对类实例调用的函数(这种特殊类型的函数称为方法,阅读更多 here。)

    【讨论】:

    • 感谢您的帮助。我需要做什么才能让它工作?
    • 您应该在课外尝试以下操作:stats = BasicStats() 然后print(stats.findMean(arr))
    猜你喜欢
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多