Python math.isclose() メソッド
Python math.isclose()このメソッドは、2つの値が互いに近いかどうかをチェックします。値が近い場合は True を、そうでない場合は False を返します。
math.isclose()指定された絶対許容差と相対許容差に基づいて、2つの値が近いと見なされるかどうかを決定します。
Python バージョン:3.5
計算式は次のとおりです:
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
構文
math.isclose() メソッドの構文は次のとおりです:
math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
パラメータの説明:
- a-- 必須、数値。x が数値でない場合、TypeError を返します。値が 0 または負の場合は、ValueError を返します。
- b-- 必須、数値。x が数値でない場合、TypeError を返します。値が 0 または負の場合は、ValueError を返します。
- rel_tol-- は相対許容差です。これは、a または b の絶対値の大きい方に対する、a と b の間で許容される最大の差です。例えば、5% の許容差を設定するには、rel_tol=0.05 を渡します。デフォルトの許容差は 1e-09 で、2つの値が約9桁の十進数以内で同じであることを保証します。rel_tol はゼロより大きくなければなりません。
- abs_tol-- は最小絶対許容差で、ゼロに近い値を比較する場合に役立ちます。abs_tol は少なくともゼロでなければなりません。
戻り値
ブール値を返します。2つの値が互いに近いかどうかをチェックし、値が近い場合は True を、そうでない場合は False を返します。
例
次の例では、2つの値が互いに近いかどうかをチェックします:
例
# math パッケージをインポート
import math
# 2つの値が近いかどうかを出力
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))
import math
# 2つの値が近いかどうかを出力
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))
出力結果:
False True
次の例では、2つの浮動小数点数が近いかどうかをチェックします:
例
# math パッケージをインポート
import math
# 浮動小数点数の判定に使用できます
# これで false が出力されます。0.1+0.2 は 0.3 と等しくなりません
print(0.1+0.2 == 0.3)
print(0.1+0.2 )
# これで true が出力されます
print(math.isclose(0.1+0.2, 0.3))
import math
# 浮動小数点数の判定に使用できます
# これで false が出力されます。0.1+0.2 は 0.3 と等しくなりません
print(0.1+0.2 == 0.3)
print(0.1+0.2 )
# これで true が出力されます
print(math.isclose(0.1+0.2, 0.3))
出力結果:
False 0.30000000000000004 Trueその他の拡張
Python math モジュール