我在 linux 上使用 python3.6,遇到了一个非常明显的 abs() 函数失败。我的变量 x
最终成为一个非常大的负数(可能是 -inf
),但绝对值 abs()
函数仍然返回一个 负 数,这不应该不可能。我通过向 abs()
的输入添加 0.1 来快速修复我的代码,但是....我误解了 abs()
应该如何使用吗?
$> x
-9223372036854775808
$> abs(x)
-9223372036854775808
$> np.abs(x)
-9223372036854775808
$> abs(x+.1)
9.223372036854776e+18
$> np.abs(x+.1)
9.223372036854776e+18
编辑:下面已解决,但归结为 x
是 numpy.int64
而不仅仅是 int
,我不知道。