首页 > 编程语言 > 详细

python中的nan和inf

时间:2021-05-21 14:50:36      阅读:20      评论:0      收藏:0      [点我收藏+]

inf

链接: https://www.jianshu.com/p/d9caa4ab46e1

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
0 / float(‘inf‘) == 0 / float(‘-inf‘)   # true    0 / float(‘inf‘) = 0.0       0 / float("-inf") = -0.0

  • 简单的加,减,乘操作,还是会返回无穷。
float(‘inf‘) + 666  # inf
float(‘inf‘) - 888  # inf
float(‘inf‘) * 999  # inf
float(‘inf‘) / 99999  # inf
float(‘inf‘) + float(‘inf‘)  # inf
  • 一些特别 = nan情况
0 * float(‘inf)                 # 结果为 nan
float(‘inf‘) / float(‘inf‘)     # 结果为 nan  

float(‘inf‘) - float(‘inf‘) 结果为:nan
float(‘-inf‘) - float(‘-inf‘) 结果也为:nan

nan

nan 代表 Not a Number (不是1个数),并不等于 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

  • 涉及nan的比较操作, 返回的都是Flase
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‘)并不相等!

上述都返回 False

  • 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中也有相类似的方法可用来判断数据。

python中的nan和inf

原文:https://www.cnblogs.com/zhangtao-0001/p/14793274.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!