f(x)或fp(x)都不是“NoneType”,但是 它告诉我abs不能操作“NoneType”。什么似乎是问题?
abs(fp(x))
TypeError: bad operand type for abs(): 'NoneType'
答案 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
现在错误已经消失。