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で非常にシンプルかつ便利な組み込み関数であり、以下のような場面で活躍します。
- 整数や浮動小数点数の絶対値を求める。
- 複素数の大きさを計算する。
- データのソートや大小比較などの場面で利用。
簡単に使える一方で、引数の型には注意が必要です。Pythonの数値型を柔軟に扱う上で覚えておきたい基本関数のひとつです。