Pythonで数値の絶対値を取得!abs()とmath.fabs()の違いと使い方


 


Pythonで数値の絶対値を取得する操作は、数学的な計算やデータの処理において頻繁に利用されます。Pythonには、この絶対値を取得するための2つの主要な方法があります。それが、組み込み関数の**abs()と、mathモジュールのmath.fabs()**です。この記事では、これら2つの関数の使い方と、それぞれの特徴、そしてどのような場合にどちらを使うべきかを詳しく解説します。


 

abs()関数で絶対値を取得する

 

abs()関数はPythonに組み込まれているため、import文なしで直接使用できます。この関数は、与えられた数値の絶対値を返します。

 

abs()の基本的な使い方

 

abs()は、整数、浮動小数点数、さらには複素数に対しても動作します。

Python
 
# abs()の基本的な使い方
print(abs(5))     # 5
print(abs(-5))    # 5
print(abs(3.14))  # 3.14
print(abs(-3.14)) # 3.14

 

abs()の戻り値の型

 

abs()関数は、引数の型に応じて戻り値の型が変わるという特徴があります。整数を渡せば整数を、浮動小数点数を渡せば浮動小数点数を返します。

Python
 
# abs()の戻り値の型
print(type(abs(-10)))   # <class 'int'>
print(type(abs(-10.5))) # <class 'float'>

 

🔬 math.fabs()関数で絶対値を取得する

 

math.fabs()関数は、mathモジュールに含まれています。これを使用するには、事前にimport mathが必要です。

 

math.fabs()の基本的な使い方

 

math.fabs()もまた、与えられた数値の絶対値を返します。

Python
 
import math

# math.fabs()の基本的な使い方
print(math.fabs(5))     # 5.0
print(math.fabs(-5))    # 5.0
print(math.fabs(3.14))  # 3.14
print(math.fabs(-3.14)) # 3.14

 

math.fabs()の戻り値の型

 

math.fabs()の最大の特徴は、常に浮動小数点数(float型)を返す点です。たとえ整数を引数として渡しても、結果はfloat型になります。

Python
 
import math

# math.fabs()の戻り値の型
print(type(math.fabs(-10))) # <class 'float'>

 

abs()math.fabs()、どちらを使うべきか?

 

特徴abs()math.fabs()
用途整数、浮動小数点数、複素数など全般浮動小数点数に特化
import不要(組み込み関数)必要(import math
戻り値引数の型に依存常にfloat

一般的な用途では、手軽に使える**abs()関数**で十分です。特に、引数の型を保ちたい場合や、複素数を扱う場合はabs()が適しています。

一方、**math.fabs()**は、結果を常に浮動小数点数として扱いたい場合や、mathモジュール内の他の数学関数と組み合わせて使用する場合に便利です。mathモジュールの関数は、通常、C言語の数学ライブラリに基づいているため、特定の数値計算でパフォーマンス上の利点がある場合もありますが、ほとんどの日常的なPythonプログラミングでは、この違いはほとんど影響しません。


 

まとめ

 

Pythonで数値の絶対値を取得するには、目的に応じて**abs()math.fabs()**を使い分けましょう。シンプルに絶対値が欲しいならabs()、結果を常にfloat型にしたい、あるいはmathモジュールの他の機能と連携させたい場合はmath.fabs()を選ぶのが良いでしょう。

■プロンプトだけでオリジナルアプリを開発・公開してみた!!

■AI時代の第一歩!「AI駆動開発コース」はじめました!

テックジム東京本校で先行開始。

■テックジム東京本校

「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。

<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。

<月1開催>放送作家による映像ディレクター養成講座

<オンライン無料>ゼロから始めるPython爆速講座