TypeError: 'float' object is not callable报错及解决方案

今天进行scikit-learn的特征选择实验时,一段非常短的代码不知为何总是报错,代码如下:

#Filename:FeatureV1.py
from sklearn.feature_selection import VarianceThreshold
X=[[0,0,1],[0,1,0],[1,0,0],[0,1,0],[0,1,1]]
sel=VarianceThreshold(threshold=(.8(1-.8)))
sel.fit_transform(X)

报错如下:

TypeError: 'float' object is not callable

我对着代码检查了好几遍,还是不明所以。

最后,总算在看代码提示<module>  sel=VarianceThreshold(threshold=(.8(1-.8)))时发现错误,原因是乘法表示不规范,遂改之,如下:

#Filename:FeatureV1.py
from sklearn.feature_selection import VarianceThreshold
X=[[0,0,1],[0,1,0],[1,0,0],[0,1,0],[0,1,1]]
sel=VarianceThreshold(threshold=(.8*(1-.8)))
sel.fit_transform(X)

原因就是少了一个乘法符号,这是非常低级的错误,但是,对于水平不高的初学者来说要多练习编程,尽量的避免这种低水平的错误,不要让这种没有多少意义的错误打击我们学习编程的信心。