TypeError:'float'对象不可调用是什么意思?

时间:2017-04-30 19:58:56

标签: python

from random import uniform

def e(x):
    n=len(x)
    return(sum(x)/n)

    def dmean(e,x,new):
    n=len(x)
    return((e*n+new)/(n+1))

    l=[1,2,3,4,5,6,78]
    e(l)

    for i in range(0,5):
    l.append(uniform(0,10))
    e=e(l)
    d=dmean(e,l,uniform(0,10))

1 个答案:

答案 0 :(得分:4)

您有一个名为mpstat | awk 'FNR == 4 {print $1;}' >> CPU_usage.plot mpstat | awk 'FNR == 4 {printf " %f", $4;}' >> CPU_usage.plot mpstat | awk 'FNR == 4 {printf " %f", $6;}' >> CPU_usage.plot mpstat | awk 'FNR == 4 {printf " %f\n", $13;}' >> CPU_usage.plot 的函数。第一次通过e循环,通过创建同名for的变量来覆盖函数名称。下一次循环时,它会尝试调用该函数,但e=e(l)现在是一个e值,无法调用。您可以通过为变量选择其他名称来解决此问题:

float

如您所见,Python不区分变量名称和函数名称,因此您必须确保不对变量和函数使用相同的名称。