📜  Python数学库 | isclose() 方法(1)

📅  最后修改于: 2023-12-03 15:19:33.732000             🧑  作者: Mango

Python数学库 | isclose() 方法

在Python中,isclose()是一个数学函数,它用于判断两个浮点数是否“相近”,即它们是否非常接近相等。在对浮点数进行比较时,由于浮点数的存储方式和精度限制,可能会出现无法精确比较的情况,此时就可以使用isclose()函数。

函数定义

isclose()函数的定义如下:

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

其中,ab是要比较的两个数,rel_tolabs_tol是可选参数。rel_tol是相对误差限定值(默认值为1e-09),abs_tol是绝对误差限定值(默认值为0.0)。

函数返回值

isclose()函数返回一个布尔值,表示两个数是否相近。如果|a-b| <= max(rel_tol * max(|a|, |b|), abs_tol),则返回True;否则返回False

使用示例

下面是isclose()函数的使用示例:

import math

a = 1.23456789
b = 1.23456788

# 判断两个数是否相近,使用默认参数
print(math.isclose(a, b))         # 输出True

# 设置相对误差限定值为1e-08
print(math.isclose(a, b, rel_tol=1e-08))         # 输出False

# 设置绝对误差限定值为1e-08
print(math.isclose(a, b, abs_tol=1e-08))         # 输出True

在上面的示例中,ab都是浮点数,它们的差值非常小,因此用isclose()函数比较它们的相似度时返回了True。如果我们改变相对误差限定值或绝对误差限定值,则函数的返回值可能会发生改变。