python 正无穷怎么表达

Python中正无穷用float('inf')表示,math.inf(Python 3.5+)为其等价常量;二者均为浮点型无穷值,支持标准数值运算,不可用1e308等有限大数替代。

Python 中正无穷用 float('inf') 表示。

直接写法:float('inf')

这是最标准、最推荐的方式。它生成一个浮点类型的正无穷值,能参与所有常规数值运算,且与数学上的 ∞ 行为一致:

  • print(float('inf') > 10**100) # True
  • print(10 / float('inf')) # 0.0
  • print(float('inf') + 1) # inf

math.inf(Python 3.5+)

从 Python 3.5 起,math 模块提供了常量 math.inf,本质就是 float('inf')

  • import math
  • print(math.inf) # inf
  • print(math.inf is float('inf')) # True(通常为 True,但不保证)

语义更清晰,适合强调“无穷”概念的场景,比如算法初始化最大值。

不要用 1e308 或其他大数代替

1e308 是极大但有限的浮点数,不是真正意义上的无穷:

  • 1e308
  • 1e308 + 1e308 # inf(会溢出),而 float('inf') + anything 仍是 inf

用大数模拟无穷容易在边界计算中出错,应避免。

负无穷和判断方法

对应地,负无穷是 float('-inf')math.inf 的相反数(-math.inf)。判断是否为无穷可用:

  • math.isinf(x) # True 当 x 是 ±inf
  • x == float('inf') # 可用于精确判断正无穷(注意:nan != nan,但 inf == inf)

基本上就这些。用 float('inf')math.inf 都行,后者稍更可读;关键是别用大数字凑数。