在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’)。