一个函数的部分代码如下:
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