我对abs()和fabs()函数进行了一些简单的测试,我不明白使用fabs()的优势是什么,如果是:
1)慢
2)只适用于浮标
3)如果使用不同的类型,将抛出异常
In [1]: %timeit abs(5)
10000000 loops, best of 3: 86.5 ns per loop
In [3]: %timeit fabs(5)
10000000 loops, best of 3: 115 ns per loop
In [4]: %timeit abs(-5)
10000000 loops, best of 3: 88.3 ns per loop
In [5]: %timeit fabs(-5)
10000000 loops, best of 3: 114 ns per loop
In [6]: %timeit abs(5.0)
10000000 loops, best of 3: 92.5 ns per loop
In [7]: %timeit fabs(5.0)
10000000 loops, best of 3: 93.2 ns per loop
漂浮更慢!
从我所在的地方,使用fabs()的唯一优势是使您的代码更易于阅读,因为通过使用它,您清楚地表示您使用浮点数/双点值
有没有其他使用fabs()?