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

  • Post category:Python

要检查Python中的数值是否为无穷大或NaN可以使用math模块提供的函数,下面是具体步骤:

  1. 导入math模块
import math
  1. 使用math.isinf()检查数值是否为无穷大
x = float('inf')
y = 2.3
print(math.isinf(x))      # True
print(math.isinf(y))      # False
  1. 使用math.isnan()检查数值是否为NaN
x = float('nan')
y = 2.3
print(math.isnan(x))      # True
print(math.isnan(y))      # False

注意,使用math.isinf()和math.isnan()函数时,传入的参数必须为float类型或能够转换成float类型的字符串类型。

另外,对于一些特殊情况,比如0除以0,得到的值为NaN,此时可以使用numpy模块中的isnan()函数进行检查。

import numpy as np

x = 0/0    #NaN
y = 1/0    #inf

print(np.isnan(x))      # True
print(np.isinf(y))      # True

综上所述,以上是在Python中检查数值是否为无穷大或NaN完整的攻略和两条示例说明。