在Python中,如果传递的参数是有限数,则math.isfinite
函数将返回True
。我想知道将返回False
而不是'NAN'
的表达式或方程式(产生无限值的方程式)。传递数字除以0将产生错误。
答案 0 :(得分:1)
在问这样的问题之前,您应该始终阅读文档。在REPL中仅使用struct
即可告诉您哪些值返回False。
help(math.isfinite)
就像马丁·彼得斯(Martijn Peters)所述,Help on built-in function isfinite in module math:
isfinite(...)
isfinite(x) -> bool
Return True if x is neither an infinity nor a NaN, and False otherwise.
和float('inf')
都将产生无限值。在Python 3.5及更高版本中,您还可以使用float('-inf')
来生成这些值。
答案 1 :(得分:0)
如果要创建无限值,则应使用
float('inf') # positive infinity
下面的这些值都是False
import math
math.isfinite(float('inf'))
math.isfinite(float('-inf'))
math.isfinite(float('nan'))