TypeError:abs()的坏操作数类型:'NoneType'python错误

时间:2017-06-29 04:05:33

标签: python

f(x)或fp(x)都不是“NoneType”,但是 它告诉我abs不能操作“NoneType”。什么似乎是问题?

abs(fp(x))
TypeError: bad operand type for abs(): 'NoneType'

1 个答案:

答案 0 :(得分:1)

所以我假设fp(x)f(x)是不会返回任何内容的函数。

看看这个,

def fp(x):
    print(x)

print(fp(10))

你可能会认为这个输出是10,但是你得到了这个,

10
None

看看这个功能,

def fp():
    pass
print(fp())

输出:

None

默认的功能会返回无类型。因此,在您执行abs(fp(x))的情况下,问题似乎是您在abs()None处理了导致错误的原因。

看看这个,

def fp():
        pass
abs(fp())

输出:

TypeError: bad operand type for abs(): 'NoneType' python error

所以在函数中添加一个return语句,你就可以看到错误消失了

def fp(x):
    return x
some_value = abs(fp(-10.5))
print(some_value)

输出:

10.5

现在错误已经消失。