簡體   English   中英

在同一個類中的另一個函數中調用的函數的AttributeError - Python

[英]AttributeError for function called in another function within same class - 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     

    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是一個set 更具體地說,它是arr (這是一個集合,你作為第一個參數傳入)。

self關鍵字僅適用於針對類實例調用的函數(這種特殊類型的函數稱為方法, 在此處閱讀更多。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM