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


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