类型错误:abs()的操作数类型错误:';非类型';python错误

类型错误:abs()的操作数类型错误:';非类型';python错误,python,Python,f(x)或fp(x)都不是“非类型”,但是 它告诉我abs不能“非类型”操作。有什么问题吗 abs(fp(x)) TypeError: bad operand type for abs(): 'NoneType' 所以我在这里假设,fp(x)或f(x)是不返回任何东西的函数 看看这个, def fp(x): print(x) print(fp(10)) 你可能会认为这个的输出是10,但是你得到了这个 10 None 看看这个函数 def fp(): pass print(

f(x)或fp(x)都不是“非类型”,但是 它告诉我abs不能“非类型”操作。有什么问题吗

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

所以我在这里假设,
fp(x)
f(x)
是不返回任何东西的函数

看看这个,

def fp(x):
    print(x)

print(fp(10))
你可能会认为这个的输出是
10
,但是你得到了这个

10
None
看看这个函数

def fp():
    pass
print(fp())
输出:

None
TypeError: bad operand type for abs(): 'NoneType' python error
10.5
默认函数返回一个None类型。因此,在您执行
abs(fp(x))
时,问题似乎是您在
None
上执行
abs()
,这就是出现错误的原因

看看这个,

def fp():
        pass
abs(fp())
输出:

None
TypeError: bad operand type for abs(): 'NoneType' python error
10.5
因此,在函数中添加一个return语句,您可以看到错误将消失

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

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

现在错误消失了。

将代码复制到问题中,而不是使用图像。这是对那些试图帮助你的人的尊重,所以他们不必重新输入你的例子。在任何情况下,您都应该提供一段代码,而不是一段我们无法运行的代码。我们没有
x
f
fp
eps
。提供一些示例输入输出。“我真的很确定f(x)或fp(x)不是“非类型”—作为程序员,你需要学习的最重要的一课是,如果错误消息说你有错误,您可能错了。函数
fp()
显然返回了值
None
。这是python函数的默认返回值,除非显式返回其他值,例如:
def fp(x):return x*2
。如果需要调试帮助,必须包含
fp
的源代码。