Python无限和NaN(“非数字”)
示例
在所有版本的Python中,我们可以表示无穷大和NaN(“非数字”),如下所示:
pos_inf = float('inf') #正无穷大 neg_inf = float('-inf') #负无穷大 not_a_num = float('nan') # NaN ("not a number")
在Python3.5及更高版本中,我们还可以使用定义的常量math.inf和math.nan:
pos_inf = math.inf neg_inf = -math.inf not_a_num = math.nan
字符串表示形式显示为inf和-inf和nan:
pos_inf, neg_inf, not_a_num #输出:(inf,-inf,nan)
我们可以使用以下isinf方法测试正无穷或负无穷大:
math.isinf(pos_inf) #出:真 math.isinf(neg_inf) #出:真
我们可以通过直接比较专门测试正无穷大或负无穷大:
pos_inf == float('inf') #或==math.infinPython3.5+ #出:真 neg_inf == float('-inf') #或==-math.inf在Python3.5+ #出:真 neg_inf == pos_inf #出:错误
Python3.2和更高版本还允许检查有限性:
math.isfinite(pos_inf) #出:错误 math.isfinite(0.0) #出:真