Python:TypeError: 'int' object is not callable

一個函數的部分代碼如下:
def loadData():
    ......
    len = dataSet.__len__()
    trainingSet.extend(dataSet[:len * 3 / 4])
    testSet.extend(dataSet[len * 3 / 4:])
    print len(trainingSet)
    print len(testSet)
    return trainingSet,testSet

運行時出現以下錯誤:TypeError: 'int' object is not callable


原因:

在len = dataSet.__len__()中,定義了一個名爲len的變量與len()方法重名,後期再遇到len時,python將其認爲是len這個int類型的變量,而不是len()方法

改爲如下方式就對了

def loadData():
    ......
    lenght = dataSet.__len__()
    trainingSet.extend(dataSet[:length * 3 / 4])
    testSet.extend(dataSet[length * 3 / 4:])
    print len(trainingSet)
    print len(testSet)
    return trainingSet,testSet


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章