Pythonのabs関数を解説

Python

pythonのabs()は引数の数値の絶対値を返す関数です。pythonの組み込み関数であるのでimportせずに利用できます。引数には、整数(int)、浮動小数点数(float)、複素数(complex)を渡せます。

整数(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'

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

引数が整数の場合は整数を、浮動小数点数の場合は浮動小数点数を返します。

print(abs(-10))    # 整数を渡す -> 出力: 10 (int型)
print(abs(-3.14))  # 浮動小数点数を渡す -> 出力: 3.14 (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で非常にシンプルかつ便利な組み込み関数であり、以下のような場面で活躍します。

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

簡単に使える一方で、引数の型には注意が必要です。Pythonの数値型を柔軟に扱う上で覚えておきたい基本関数のひとつです。

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