码迷,mamicode.com
首页 > 编程语言 > 详细

Python 无穷大与NaN

时间:2018-11-06 13:27:11      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:表示   没有   lse   div   创建   就是   计算   sqrt   nbsp   

想创建或测试正无穷、负无穷或NaN(非数字) 的浮点数

 

Python 并没有特殊的语法来表示这些特殊的浮点值,但是可以使用float() 来创建它们。比如:

>>> a = float(‘inf‘)
>>> b = float(‘-inf‘)
>>> c = float(‘nan‘)
>>> a
inf
>>> b
-inf
>>> c
nan
>>>

为了测试这些值的存在,使用math.isinf() 和math.isnan() 函数。比如:
>>> math.isinf(a)
True
>>> math.isnan(c)
True
>>>

 

跟比较和操作符相关的时候,无穷大数在执行数学计算的时候会传播,比如:

>>> a = float(‘inf‘)
>>> a + 45
inf
>>> a * 10
inf
>>> 10 / a
0.0
>>>

 

但是有些操作时未定义的并会返回一个NaN 结果

>>> c = float(‘nan‘)
>>> c + 23
nan
>>> c / 2
nan
>>> c * 2
nan
>>> math.sqrt(c)
nan
>>>

 

NaN 值的一个特别的地方时它们之间的比较操作总是返回False。

>>> c = float(‘nan‘)
>>> d = float(‘nan‘)
>>> c == d
False
>>> c is d
False

 由于这个原因,测试一个NaN 值得唯一安全的方法就是使用math.isnan() ,也就是上面演示的那样。

 

Python 无穷大与NaN

标签:表示   没有   lse   div   创建   就是   计算   sqrt   nbsp   

原文地址:https://www.cnblogs.com/baxianhua/p/9914346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!