python nan_Python 无穷大与NaN

想创建或测试正无穷、负无穷或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() ,也就是上面演示的那样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值