如何在 python 中键入浮点数无穷字面值

如何在 python 中键入浮点数无穷字面值?

我听说了

 inf = float('inf')

因此,我有以下的建议:

 inf = 1e400

这些是标准的还是可移植的? 什么是最佳实践?

58653 次浏览

Python 2.6中,如果 CPU 支持它,它是可移植的

函数现在将把 把 Nan 串成 IEEE 754不是 A 数值,+ inf 和-inf 转换为 正无穷大或负无穷大。这个 可以在任何 IEEE 754平台上工作 语义学。

float('inf')是不可移植的,就像当字符串输出在不同平台之间变化时,不可移植回 Python 2.5一样。从2.6开始,float('inf')保证能够在符合 IEEE-754标准的平台上工作(参考文献: http://www.python.org/dev/peps/pep-0754/)。

(推荐值似乎在1e30000范围内,而不仅仅是1e400。)

也许你可以做这样的事

try:
inf = float('inf')
except:  # check for a particular exception here?
inf = 1e30000

从 Python 3.6开始,您可以使用 Math.inf

import math
math.inf