【abs】Pythonで絶対値を計算する方法を解説

Python

本記事では、Pythonで絶対値を計算するためのabs関数について詳しく解説します。Pythonのabs関数は数値の絶対値を簡単に求められる便利な組み込み関数です。整数、浮動小数点数、複素数など様々な数値型に対応しており、データ処理や数値計算において頻繁に使用されます。この記事では、Pythonでの絶対値計算の基本的な使い方から応用例、実践的なコードサンプルまでを網羅的に紹介します。

絶対値とは

絶対値とは、数値の符号(プラスやマイナス)を除いた値のことです。数学では|x|と表記します。

正の数の絶対値はその数自身、負の数の絶対値はマイナスを取り除いた値になります。例えば、5の絶対値は5、-5の絶対値も5です。

複素数の場合は、複素平面上での原点からの距離として定義されます。複素数 a + bi の絶対値は √(a² + b²) です。

Pythonでは、abs関数を使って簡単に絶対値を求めることができます。

整数(int)の絶対値

負の整数を渡すと、その正の値が返されます。

print(abs(-10))  # 出力: 10
print(abs(10))   # 出力: 10

浮動小数点数(float)の絶対値

浮動小数点数でも同様に、絶対値が返されます。

print(abs(-3.14))  # 出力: 3.14
print(abs(2.718))  # 出力: 2.718

複素数(complex)の絶対値

複素数の場合は、数値の大きさ(原点からの距離)が返されます。これは、複素数の絶対値(ノルム)を計算した結果です。

計算式: √(実部^2 + 虚部^2)

z = 3 + 4j
print(abs(z))  # 出力: 5.0 (計算: √(3^2 + 4^2) = 5)

注意点

非数値型はエラーになる

数値型以外の引数を渡すとエラーになります。

print(abs("text"))  # エラー: TypeError: bad operand type for abs(): 'str'

引数の型に応じた戻り値の型

abs関数は引数の型に応じて異なる型の戻り値を返します。type関数を使って確認してみましょう。

# 整数の場合
result_int = abs(-10)
print(result_int)  # 出力: 10
print(type(result_int))  # 出力: <class 'int'>

# 浮動小数点数の場合
result_float = abs(-3.14)
print(result_float)  # 出力: 3.14
print(type(result_float))  # 出力: <class 'float'>

# 複素数の場合
z = 3 + 4j
result_complex = abs(z)
print(result_complex)  # 出力: 5.0
print(type(result_complex))  # 出力: <class 'float'>

複素数ではノルムを返す

複素数を渡した場合は、そのノルム(絶対値)が浮動小数点数で返されます。

z = 3 + 4j
print(abs(z))  # 出力: 5.0 (float型)

応用例

数列の要素を絶対値でソート

リスト内の要素を絶対値でソートする場合に使います。

numbers = [-10, 3, -2, 7, -5]
sorted_numbers = sorted(numbers, key=abs)
print(sorted_numbers)  # 出力: [-2, 3, -5, 7, -10]

複素数の大小比較

複素数の大きさを比較する際に、abs()を利用します。

z1 = 3 + 4j
z2 = 1 + 1j
if abs(z1) > abs(z2):
    print("z1 is larger")
else:
    print("z2 is larger")
# 出力: z1 is larger

まとめ

abs関数はPythonで非常にシンプルかつ便利な組み込み関数であり、以下のような場面で活躍します。

  • 整数や浮動小数点数の絶対値を求める
  • 複素数の大きさを計算する
  • データのソートや大小比較などの場面で利用

Pythonの数値型を柔軟に扱う上で覚えておきたい基本関数のひとつです。

タイトルとURLをコピーしました