在Python中检查数值是否为无穷大或NaN

  • Post category:Python

在Python中检查数值是否为无穷大(Infinity)或NaN(Not A Number),可以使用math模块中的isinf()和isnan()函数进行判断。

判断数值是否为无穷大(Infinity)

isinf()函数用于判断一个数值是否为无穷大,返回值为True或False。

示例1:判断一个数是否为无穷大

import math

num1 = 10/0   # 定义一个除以0的数
num2 = math.inf   # 定义一个无穷大的数

# 判断数值是否为无穷大
print(math.isinf(num1))  # 输出True
print(math.isinf(num2))  # 输出True

示例2:判断一个数是否不是无穷大

import math

num1 = 10
num2 = -math.inf   # 定义一个负无穷大的数

# 判断数值是否为无穷大
print(math.isinf(num1))  # 输出False
print(math.isinf(num2))  # 输出True

判断数值是否为NaN

isnan()函数用于判断一个数值是否为NaN,返回值为True或False。

示例1:判断一个数是否为NaN

import math

num1 = float('nan')   # 定义一个NaN的数
num2 = 10/0   # 定义一个除以0的数

# 判断数值是否为NaN
print(math.isnan(num1))  # 输出True
print(math.isnan(num2))  # 输出False

示例2:判断一个数是否不是NaN

import math

num1 = 10
num2 = math.inf   # 定义一个无穷大的数

# 判断数值是否为NaN
print(math.isnan(num1))  # 输出False
print(math.isnan(num2))  # 输出False

总结一下,判断数值是否为无穷大或NaN所使用的函数为math模块中的isinf()和isnan()函数。并且需要注意的是,当一个数值为无穷大时,它的值在Python中表示为math.inf或-math.inf,当一个数值为NaN时,它的值在Python中表示为float(‘nan’)。