美文网首页Python学习Tips
认识python中的inf和nan

认识python中的inf和nan

作者: 代码小工蚁 | 来源:发表于2018-06-07 21:45 被阅读845次

认识python中的inf和nan

python中的正无穷或负无穷,使用float("inf")或float("-inf")来表示。
这里有点特殊,写成:float("inf"),float("INF")或者float('Inf')都是可以的。
当涉及 > 和 < 比较时,所有数都比无穷小float("-inf")大,所有数都比无穷大float("inf")小。
相等比较时,float("+inf")与float("+inf")、float("inf")三者相等。即:

float("+inf") == float("+inf")  # True
float("+inf") == float("inf")  # True

同样地,float("-inf") == float("-inf") 返回也是True。

简单的加,减,乘操作,还是会返回无穷。

float('inf') + 666  # inf
float('inf') - 888  # inf
float('inf') * 999  # inf
float('inf') / 99999  # inf
float('inf') + float('inf')  # inf

特别地,0 * float('inf') 结果为:nan
float('inf') / float('inf') 结果为:nan
float('inf') - float('inf') 结果为:nan
float('-inf') - float('-inf') 结果也为:nan

nan代表Not A Number(不是一个数),它并不等于0
因为nan不是一个数,所以相关计算都无法得到数字。
所有涉及nan的操作,返回的都是nan。

float('nan') + 9999999
float('nan') - 9999999
float('nan') * 9999999
float('nan') * float('inf')
float('nan') / float('inf')
float('nan') / float('nan')

结果都是:nan
比较操作时,返回的都是False

float('nan') > float('nan')
float('nan') > float('inf')
float('nan') > float('-inf')
float('nan') < float('nan')
float('nan') < float('inf')
float('nan') == float('nan')  # False

特别注意两个float('nan')并不相等!

python中可以用math.isinf()与math.isnan()来判断数据是否为inf或nan。

import math
n = float('inf')
print(math.isinf(n))  # True
m = float('nan')
print(math.isnan(m))  # True


numpy中也有相类似的方法可用来判断数据。

动手测试题:
0 / float('inf') == 0 / float('-inf') 结果是True 还是False?


参考资料:

Python 关于正负无穷float(‘inf’)的一些用法
https://blog.csdn.net/shennongzhaizhu/article/details/51997887

Stackoverflow.com上的问答:What is inf and nan?
https://stackoverflow.com/questions/17628613/what-is-inf-and-nan

相关文章

  • 认识python中的inf和nan

    认识python中的inf和nan python中的正无穷或负无穷,使用float("inf")或float("-...

  • python 的 inf 和 nan

    问题起源于我想判断一个数大于最小的负整数,结果发现不知道如何表示这个最小的负整数。C 语言中表示最大的正整数值是 ...

  • INF和NAN

    INF 在Python中,inf表示正无穷,-inf表示负无穷 在比较的时候,所有的数都比正无穷小,所有的数都比负...

  • iOS Nan or +inf

    崩溃日志 对NaN进行了json转换导致崩溃 什么是NaN 和 +inf nan: not a number 不是...

  • Python3 - 无穷大与NaN

    问题 创建或测试正无穷(inf)、负无穷(-inf)或NaN等非数字的浮点数。 解决方案 Python并没有特殊的...

  • lua数学计算的inf和nan

    我们虽然已经脱离了野蛮和不开化,但是,我们依然保持着对未知世界的敬畏。当人们还处在洪荒远古时期,我们对未知的...

  • objective-c NaN和Inf问题

    objective-c NaN和Inf问题 今天调个bug,,调了估计都快一个小时了,一个float变量值为nan...

  • 一些报错

    1. Error in do_one(nmeth) :NA/NaN/Inf in foreign function...

  • JS中对数组进行去重的几种方法

    JavaScript中NaN是什么?对NaN的认识 NaN 非数字(not a number)属性是代表非数字值的...

  • 2019-07-25

    四、NA、Inf、NaN、NULL 特殊值(https://zhuanlan.zhihu.com/p/470299...

网友评论

    本文标题:认识python中的inf和nan

    本文链接:https://www.haomeiwen.com/subject/sgpnsftx.html